Make RenderPass::Id an isolated class
Move RenderPass::Id out of RenderPass and make it an isolated class
called RenderPassId, so RenderPassDrawQuad and AppendQuadsData will not
need to depend on entire RenderPass class.
BUG=344962
Review URL: https://codereview.chromium.org/404563005
Cr-Commit-Position: refs/heads/master@{#291403}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@291403 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/cc/BUILD.gn b/cc/BUILD.gn
index fb4c1f2d..4f97e0e 100644
--- a/cc/BUILD.gn
+++ b/cc/BUILD.gn
@@ -298,6 +298,8 @@
"quads/render_pass.h",
"quads/render_pass_draw_quad.cc",
"quads/render_pass_draw_quad.h",
+ "quads/render_pass_id.cc",
+ "quads/render_pass_id.h",
"quads/shared_quad_state.cc",
"quads/shared_quad_state.h",
"quads/solid_color_draw_quad.cc",
diff --git a/cc/cc.gyp b/cc/cc.gyp
index 04f8a913..b9b72908 100644
--- a/cc/cc.gyp
+++ b/cc/cc.gyp
@@ -326,6 +326,8 @@
'quads/render_pass.h',
'quads/render_pass_draw_quad.cc',
'quads/render_pass_draw_quad.h',
+ 'quads/render_pass_id.cc',
+ 'quads/render_pass_id.h',
'quads/shared_quad_state.cc',
'quads/shared_quad_state.h',
'quads/solid_color_draw_quad.cc',
diff --git a/cc/layers/append_quads_data.h b/cc/layers/append_quads_data.h
index 6326bbb8..ffe0dd9 100644
--- a/cc/layers/append_quads_data.h
+++ b/cc/layers/append_quads_data.h
@@ -6,7 +6,7 @@
#define CC_LAYERS_APPEND_QUADS_DATA_H_
#include "base/basictypes.h"
-#include "cc/quads/render_pass.h"
+#include "cc/quads/render_pass_id.h"
namespace cc {
@@ -18,7 +18,7 @@
approximated_visible_content_area(0),
render_pass_id(0, 0) {}
- explicit AppendQuadsData(RenderPass::Id render_pass_id)
+ explicit AppendQuadsData(RenderPassId render_pass_id)
: num_incomplete_tiles(0),
num_missing_tiles(0),
visible_content_area(0),
@@ -34,7 +34,7 @@
// Set by the layer appending quads.
int64 approximated_visible_content_area;
// Given to the layer appending quads.
- const RenderPass::Id render_pass_id;
+ const RenderPassId render_pass_id;
};
} // namespace cc
diff --git a/cc/layers/delegated_frame_provider_unittest.cc b/cc/layers/delegated_frame_provider_unittest.cc
index 88936d7..5e946a5 100644
--- a/cc/layers/delegated_frame_provider_unittest.cc
+++ b/cc/layers/delegated_frame_provider_unittest.cc
@@ -26,7 +26,7 @@
scoped_ptr<DelegatedFrameData> frame(new DelegatedFrameData);
scoped_ptr<RenderPass> root_pass(RenderPass::Create());
- root_pass->SetNew(RenderPass::Id(1, 1),
+ root_pass->SetNew(RenderPassId(1, 1),
root_output_rect,
root_damage_rect,
gfx::Transform());
diff --git a/cc/layers/delegated_renderer_layer_impl.cc b/cc/layers/delegated_renderer_layer_impl.cc
index 9032fad..199a15bb 100644
--- a/cc/layers/delegated_renderer_layer_impl.cc
+++ b/cc/layers/delegated_renderer_layer_impl.cc
@@ -165,7 +165,7 @@
RenderPassList::iterator to_take =
render_passes_in_draw_order->begin() + i;
render_passes_index_by_id_.insert(
- std::pair<RenderPass::Id, int>((*to_take)->id, i));
+ std::pair<RenderPassId, int>((*to_take)->id, i));
scoped_ptr<RenderPass> taken_render_pass =
render_passes_in_draw_order->take(to_take);
render_passes_in_draw_order_.push_back(taken_render_pass.Pass());
@@ -194,20 +194,19 @@
static inline int IndexToId(int index) { return index + 1; }
static inline int IdToIndex(int id) { return id - 1; }
-RenderPass::Id DelegatedRendererLayerImpl::FirstContributingRenderPassId()
- const {
- return RenderPass::Id(id(), IndexToId(0));
+RenderPassId DelegatedRendererLayerImpl::FirstContributingRenderPassId() const {
+ return RenderPassId(id(), IndexToId(0));
}
-RenderPass::Id DelegatedRendererLayerImpl::NextContributingRenderPassId(
- RenderPass::Id previous) const {
- return RenderPass::Id(previous.layer_id, previous.index + 1);
+RenderPassId DelegatedRendererLayerImpl::NextContributingRenderPassId(
+ RenderPassId previous) const {
+ return RenderPassId(previous.layer_id, previous.index + 1);
}
bool DelegatedRendererLayerImpl::ConvertDelegatedRenderPassId(
- RenderPass::Id delegated_render_pass_id,
- RenderPass::Id* output_render_pass_id) const {
- base::hash_map<RenderPass::Id, int>::const_iterator found =
+ RenderPassId delegated_render_pass_id,
+ RenderPassId* output_render_pass_id) const {
+ base::hash_map<RenderPassId, int>::const_iterator found =
render_passes_index_by_id_.find(delegated_render_pass_id);
if (found == render_passes_index_by_id_.end()) {
// Be robust against a RenderPass id that isn't part of the frame.
@@ -215,7 +214,7 @@
}
unsigned delegated_render_pass_index = found->second;
*output_render_pass_id =
- RenderPass::Id(id(), IndexToId(delegated_render_pass_index));
+ RenderPassId(id(), IndexToId(delegated_render_pass_index));
return true;
}
@@ -231,7 +230,7 @@
inverse_device_scale_factor_);
for (size_t i = 0; i < render_passes_in_draw_order_.size() - 1; ++i) {
- RenderPass::Id output_render_pass_id(-1, -1);
+ RenderPassId output_render_pass_id(-1, -1);
bool present =
ConvertDelegatedRenderPassId(render_passes_in_draw_order_[i]->id,
&output_render_pass_id);
@@ -266,7 +265,7 @@
if (render_passes_in_draw_order_.empty())
return;
- RenderPass::Id target_render_pass_id = append_quads_data->render_pass_id;
+ RenderPassId target_render_pass_id = append_quads_data->render_pass_id;
const RenderPass* root_delegated_render_pass =
render_passes_in_draw_order_.back();
@@ -456,9 +455,9 @@
delegated_quad, output_shared_quad_state);
output_quad->visible_rect = quad_visible_rect;
} else {
- RenderPass::Id delegated_contributing_render_pass_id =
+ RenderPassId delegated_contributing_render_pass_id =
RenderPassDrawQuad::MaterialCast(delegated_quad)->render_pass_id;
- RenderPass::Id output_contributing_render_pass_id(-1, -1);
+ RenderPassId output_contributing_render_pass_id(-1, -1);
bool present =
ConvertDelegatedRenderPassId(delegated_contributing_render_pass_id,
diff --git a/cc/layers/delegated_renderer_layer_impl.h b/cc/layers/delegated_renderer_layer_impl.h
index e26450d..1f3c881 100644
--- a/cc/layers/delegated_renderer_layer_impl.h
+++ b/cc/layers/delegated_renderer_layer_impl.h
@@ -28,9 +28,9 @@
OVERRIDE;
virtual bool HasDelegatedContent() const OVERRIDE;
virtual bool HasContributingDelegatedRenderPasses() const OVERRIDE;
- virtual RenderPass::Id FirstContributingRenderPassId() const OVERRIDE;
- virtual RenderPass::Id NextContributingRenderPassId(
- RenderPass::Id previous) const OVERRIDE;
+ virtual RenderPassId FirstContributingRenderPassId() const OVERRIDE;
+ virtual RenderPassId NextContributingRenderPassId(
+ RenderPassId previous) const OVERRIDE;
virtual void ReleaseResources() OVERRIDE;
virtual bool WillDraw(DrawMode draw_mode,
ResourceProvider* resource_provider) OVERRIDE;
@@ -75,9 +75,8 @@
// Returns |true| if the delegated_render_pass_id is part of the current
// frame and can be converted.
- bool ConvertDelegatedRenderPassId(
- RenderPass::Id delegated_render_pass_id,
- RenderPass::Id* output_render_pass_id) const;
+ bool ConvertDelegatedRenderPassId(RenderPassId delegated_render_pass_id,
+ RenderPassId* output_render_pass_id) const;
void AppendRenderPassQuads(
RenderPass* render_pass,
@@ -92,7 +91,7 @@
bool have_render_passes_to_push_;
float inverse_device_scale_factor_;
RenderPassList render_passes_in_draw_order_;
- base::hash_map<RenderPass::Id, int> render_passes_index_by_id_;
+ base::hash_map<RenderPassId, int> render_passes_index_by_id_;
ResourceProvider::ResourceIdArray resources_;
int child_id_;
diff --git a/cc/layers/delegated_renderer_layer_impl_unittest.cc b/cc/layers/delegated_renderer_layer_impl_unittest.cc
index 69f54f9..94ba6c7 100644
--- a/cc/layers/delegated_renderer_layer_impl_unittest.cc
+++ b/cc/layers/delegated_renderer_layer_impl_unittest.cc
@@ -92,18 +92,18 @@
RenderPassList delegated_render_passes;
TestRenderPass* pass1 = AddRenderPass(&delegated_render_passes,
- RenderPass::Id(9, 6),
+ RenderPassId(9, 6),
gfx::Rect(6, 6, 6, 6),
gfx::Transform(1, 0, 0, 1, 5, 6));
AddQuad(pass1, gfx::Rect(0, 0, 6, 6), 33u);
TestRenderPass* pass2 = AddRenderPass(&delegated_render_passes,
- RenderPass::Id(9, 7),
+ RenderPassId(9, 7),
gfx::Rect(7, 7, 7, 7),
gfx::Transform(1, 0, 0, 1, 7, 8));
AddQuad(pass2, gfx::Rect(0, 0, 7, 7), 22u);
AddRenderPassQuad(pass2, pass1);
TestRenderPass* pass3 = AddRenderPass(&delegated_render_passes,
- RenderPass::Id(9, 8),
+ RenderPassId(9, 8),
gfx::Rect(0, 0, 8, 8),
gfx::Transform(1, 0, 0, 1, 9, 10));
AddRenderPassQuad(pass3, pass2);
@@ -214,7 +214,7 @@
ASSERT_EQ(5u, frame.render_passes.size());
// The layer's target is the RenderPass from layer_after_.
- EXPECT_EQ(RenderPass::Id(3, 0), frame.render_passes[3]->id);
+ EXPECT_EQ(RenderPassId(3, 0), frame.render_passes[3]->id);
// The DelegatedRendererLayer should have added copies of quads in its root
// RenderPass to its target RenderPass. The layer_after_ also adds one quad.
@@ -438,7 +438,7 @@
ASSERT_EQ(6u, frame.render_passes.size());
// The layer's target is the RenderPass owned by itself.
- EXPECT_EQ(RenderPass::Id(4, 0), frame.render_passes[3]->id);
+ EXPECT_EQ(RenderPassId(4, 0), frame.render_passes[3]->id);
// The DelegatedRendererLayer should have added copies of quads in its root
// RenderPass to its target RenderPass.
@@ -520,11 +520,10 @@
bool child_pass_clipped = false;
{
- TestRenderPass* pass = AddRenderPass(
- &delegated_render_passes,
- RenderPass::Id(10, 7),
- child_pass_rect,
- gfx::Transform());
+ TestRenderPass* pass = AddRenderPass(&delegated_render_passes,
+ RenderPassId(10, 7),
+ child_pass_rect,
+ gfx::Transform());
SharedQuadState* shared_quad_state =
pass->CreateAndAppendSharedQuadState();
shared_quad_state->SetAll(child_pass_transform,
@@ -560,11 +559,10 @@
gfx::Rect root_pass_clip_rect(10, 10, 35, 35);
bool root_pass_clipped = root_delegated_render_pass_is_clipped_;
- TestRenderPass* pass = AddRenderPass(
- &delegated_render_passes,
- RenderPass::Id(9, 6),
- root_pass_rect,
- gfx::Transform());
+ TestRenderPass* pass = AddRenderPass(&delegated_render_passes,
+ RenderPassId(9, 6),
+ root_pass_rect,
+ gfx::Transform());
SharedQuadState* shared_quad_state = pass->CreateAndAppendSharedQuadState();
shared_quad_state->SetAll(root_pass_transform,
root_pass_content_bounds,
@@ -577,16 +575,15 @@
RenderPassDrawQuad* render_pass_quad =
pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
- render_pass_quad->SetNew(
- shared_quad_state,
- gfx::Rect(5, 5, 7, 7), // quad_rect
- gfx::Rect(5, 5, 7, 7), // visible_rect
- RenderPass::Id(10, 7), // render_pass_id
- 0, // mask_resource_id
- gfx::RectF(), // mask_uv_rect
- FilterOperations(), // filters
- gfx::Vector2dF(), // filters_scale
- FilterOperations()); // background_filters
+ render_pass_quad->SetNew(shared_quad_state,
+ gfx::Rect(5, 5, 7, 7), // quad_rect
+ gfx::Rect(5, 5, 7, 7), // visible_rect
+ RenderPassId(10, 7), // render_pass_id
+ 0, // mask_resource_id
+ gfx::RectF(), // mask_uv_rect
+ FilterOperations(), // filters
+ gfx::Vector2dF(), // filters_scale
+ FilterOperations()); // background_filters
SolidColorDrawQuad* color_quad;
color_quad = pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
@@ -957,11 +954,10 @@
bool child_pass_clipped = false;
{
- TestRenderPass* pass = AddRenderPass(
- &delegated_render_passes,
- RenderPass::Id(10, 7),
- child_pass_rect,
- gfx::Transform());
+ TestRenderPass* pass = AddRenderPass(&delegated_render_passes,
+ RenderPassId(10, 7),
+ child_pass_rect,
+ gfx::Transform());
SharedQuadState* shared_quad_state =
pass->CreateAndAppendSharedQuadState();
shared_quad_state->SetAll(child_pass_transform,
@@ -995,11 +991,10 @@
gfx::Rect root_pass_clip_rect(5, 5, 40, 40);
bool root_pass_clipped = root_delegated_render_pass_is_clipped_;
- TestRenderPass* pass = AddRenderPass(
- &delegated_render_passes,
- RenderPass::Id(9, 6),
- root_pass_rect,
- gfx::Transform());
+ TestRenderPass* pass = AddRenderPass(&delegated_render_passes,
+ RenderPassId(9, 6),
+ root_pass_rect,
+ gfx::Transform());
SharedQuadState* shared_quad_state = pass->CreateAndAppendSharedQuadState();
shared_quad_state->SetAll(root_pass_transform,
root_pass_content_bounds,
@@ -1012,16 +1007,15 @@
RenderPassDrawQuad* render_pass_quad =
pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
- render_pass_quad->SetNew(
- shared_quad_state,
- gfx::Rect(5, 5, 7, 7), // quad_rect
- gfx::Rect(5, 5, 7, 7), // visible_quad_rect
- RenderPass::Id(10, 7), // render_pass_id
- 0, // mask_resource_id
- gfx::RectF(), // mask_uv_rect
- FilterOperations(), // filters
- gfx::Vector2dF(), // filters_scale
- FilterOperations()); // background_filters
+ render_pass_quad->SetNew(shared_quad_state,
+ gfx::Rect(5, 5, 7, 7), // quad_rect
+ gfx::Rect(5, 5, 7, 7), // visible_quad_rect
+ RenderPassId(10, 7), // render_pass_id
+ 0, // mask_resource_id
+ gfx::RectF(), // mask_uv_rect
+ FilterOperations(), // filters
+ gfx::Vector2dF(), // filters_scale
+ FilterOperations()); // background_filters
SolidColorDrawQuad* color_quad;
color_quad = pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
@@ -1339,16 +1333,15 @@
delegated_renderer_layer->SetDrawsContent(true);
RenderPassList delegated_render_passes;
- TestRenderPass* pass1 = AddRenderPass(
- &delegated_render_passes,
- RenderPass::Id(9, 6),
- gfx::Rect(0, 0, 10, 10),
- gfx::Transform());
+ TestRenderPass* pass1 = AddRenderPass(&delegated_render_passes,
+ RenderPassId(9, 6),
+ gfx::Rect(0, 0, 10, 10),
+ gfx::Transform());
AddQuad(pass1, gfx::Rect(0, 0, 6, 6), 33u);
// This render pass isn't part of the frame.
scoped_ptr<TestRenderPass> missing_pass(TestRenderPass::Create());
- missing_pass->SetNew(RenderPass::Id(9, 7),
+ missing_pass->SetNew(RenderPassId(9, 7),
gfx::Rect(7, 7, 7, 7),
gfx::Rect(7, 7, 7, 7),
gfx::Transform());
@@ -1397,13 +1390,13 @@
RenderPassList delegated_render_passes;
// pass2 is just the size of the quad. It contributes to |pass1| with a
// translation of (11,0).
- RenderPass::Id pass2_id =
+ RenderPassId pass2_id =
delegated_renderer_layer_impl->FirstContributingRenderPassId();
TestRenderPass* pass2 =
AddRenderPass(&delegated_render_passes, pass2_id, quad_rect, transform);
AddQuad(pass2, gfx::Rect(quad_rect.size()), SK_ColorRED);
// |pass1| covers the whole layer.
- RenderPass::Id pass1_id = RenderPass::Id(impl.root_layer()->id(), 0);
+ RenderPassId pass1_id = RenderPassId(impl.root_layer()->id(), 0);
TestRenderPass* pass1 = AddRenderPass(&delegated_render_passes,
pass1_id,
gfx::Rect(layer_size),
@@ -1549,7 +1542,7 @@
RenderPassList delegated_render_passes;
// |pass1| covers the whole layer.
- RenderPass::Id pass1_id = RenderPass::Id(5, 0);
+ RenderPassId pass1_id = RenderPassId(5, 0);
AddRenderPass(&delegated_render_passes,
pass1_id,
gfx::Rect(layer_size),
diff --git a/cc/layers/delegated_renderer_layer_unittest.cc b/cc/layers/delegated_renderer_layer_unittest.cc
index b997a26..3805f18 100644
--- a/cc/layers/delegated_renderer_layer_unittest.cc
+++ b/cc/layers/delegated_renderer_layer_unittest.cc
@@ -36,10 +36,8 @@
public:
DelegatedRendererLayerTestSimple() : DelegatedRendererLayerTest() {
scoped_ptr<RenderPass> root_pass(RenderPass::Create());
- root_pass->SetNew(RenderPass::Id(1, 1),
- gfx::Rect(1, 1),
- gfx::Rect(1, 1),
- gfx::Transform());
+ root_pass->SetNew(
+ RenderPassId(1, 1), gfx::Rect(1, 1), gfx::Rect(1, 1), gfx::Transform());
scoped_ptr<DelegatedFrameData> frame_data(new DelegatedFrameData);
frame_data->render_pass_list.push_back(root_pass.Pass());
resources_ = new DelegatedFrameResourceCollection;
diff --git a/cc/layers/layer_impl.cc b/cc/layers/layer_impl.cc
index df9f3bc..14ffa6f8 100644
--- a/cc/layers/layer_impl.cc
+++ b/cc/layers/layer_impl.cc
@@ -21,6 +21,7 @@
#include "cc/layers/painted_scrollbar_layer_impl.h"
#include "cc/output/copy_output_request.h"
#include "cc/quads/debug_border_draw_quad.h"
+#include "cc/quads/render_pass.h"
#include "cc/trees/layer_tree_host_common.h"
#include "cc/trees/layer_tree_impl.h"
#include "cc/trees/layer_tree_settings.h"
@@ -340,13 +341,12 @@
return false;
}
-RenderPass::Id LayerImpl::FirstContributingRenderPassId() const {
- return RenderPass::Id(0, 0);
+RenderPassId LayerImpl::FirstContributingRenderPassId() const {
+ return RenderPassId(0, 0);
}
-RenderPass::Id LayerImpl::NextContributingRenderPassId(RenderPass::Id id)
- const {
- return RenderPass::Id(0, 0);
+RenderPassId LayerImpl::NextContributingRenderPassId(RenderPassId id) const {
+ return RenderPassId(0, 0);
}
ResourceProvider::ResourceId LayerImpl::ContentsResourceId() const {
diff --git a/cc/layers/layer_impl.h b/cc/layers/layer_impl.h
index 7d7af370e..8af8c3de 100644
--- a/cc/layers/layer_impl.h
+++ b/cc/layers/layer_impl.h
@@ -24,7 +24,6 @@
#include "cc/layers/layer_position_constraint.h"
#include "cc/layers/render_surface_impl.h"
#include "cc/output/filter_operations.h"
-#include "cc/quads/render_pass.h"
#include "cc/quads/shared_quad_state.h"
#include "cc/resources/resource_provider.h"
#include "skia/ext/refptr.h"
@@ -52,6 +51,8 @@
class MicroBenchmarkImpl;
template <typename LayerType>
class OcclusionTracker;
+class RenderPass;
+class RenderPassId;
class Renderer;
class ScrollbarAnimationController;
class ScrollbarLayerImplBase;
@@ -200,8 +201,8 @@
virtual bool HasDelegatedContent() const;
virtual bool HasContributingDelegatedRenderPasses() const;
- virtual RenderPass::Id FirstContributingRenderPassId() const;
- virtual RenderPass::Id NextContributingRenderPassId(RenderPass::Id id) const;
+ virtual RenderPassId FirstContributingRenderPassId() const;
+ virtual RenderPassId NextContributingRenderPassId(RenderPassId id) const;
virtual void UpdateTiles(
const OcclusionTracker<LayerImpl>* occlusion_tracker) {}
diff --git a/cc/layers/render_surface_impl.cc b/cc/layers/render_surface_impl.cc
index 2cc67af45..c0e4a82 100644
--- a/cc/layers/render_surface_impl.cc
+++ b/cc/layers/render_surface_impl.cc
@@ -107,11 +107,11 @@
contributing_delegated_render_pass_layer_list_.clear();
}
-RenderPass::Id RenderSurfaceImpl::RenderPassId() {
+RenderPassId RenderSurfaceImpl::GetRenderPassId() {
int layer_id = owning_layer_->id();
int sub_id = 0;
DCHECK_GT(layer_id, 0);
- return RenderPass::Id(layer_id, sub_id);
+ return RenderPassId(layer_id, sub_id);
}
void RenderSurfaceImpl::AppendRenderPasses(RenderPassSink* pass_sink) {
@@ -124,7 +124,7 @@
}
scoped_ptr<RenderPass> pass = RenderPass::Create(layer_list_.size());
- pass->SetNew(RenderPassId(),
+ pass->SetNew(GetRenderPassId(),
content_rect_,
gfx::IntersectRects(content_rect_,
damage_tracker_->current_damage_rect()),
@@ -137,7 +137,7 @@
const OcclusionTracker<LayerImpl>& occlusion_tracker,
AppendQuadsData* append_quads_data,
bool for_replica,
- RenderPass::Id render_pass_id) {
+ RenderPassId render_pass_id) {
DCHECK(!for_replica || owning_layer_->has_replica());
const gfx::Transform& draw_transform =
diff --git a/cc/layers/render_surface_impl.h b/cc/layers/render_surface_impl.h
index 27da840..52e4f386 100644
--- a/cc/layers/render_surface_impl.h
+++ b/cc/layers/render_surface_impl.h
@@ -24,6 +24,7 @@
class DelegatedRendererLayerImpl;
template <typename LayerType>
class OcclusionTracker;
+class RenderPassId;
class RenderPassSink;
class LayerImpl;
template <typename LayerType>
@@ -131,14 +132,14 @@
DamageTracker* damage_tracker() const { return damage_tracker_.get(); }
- RenderPass::Id RenderPassId();
+ RenderPassId GetRenderPassId();
void AppendRenderPasses(RenderPassSink* pass_sink);
void AppendQuads(RenderPass* render_pass,
const OcclusionTracker<LayerImpl>& occlusion_tracker,
AppendQuadsData* append_quads_data,
bool for_replica,
- RenderPass::Id render_pass_id);
+ RenderPassId render_pass_id);
private:
LayerImpl* owning_layer_;
diff --git a/cc/layers/render_surface_unittest.cc b/cc/layers/render_surface_unittest.cc
index 0c1646f..e2aca7d 100644
--- a/cc/layers/render_surface_unittest.cc
+++ b/cc/layers/render_surface_unittest.cc
@@ -116,7 +116,7 @@
occlusion_tracker,
&append_quads_data,
for_replica,
- RenderPass::Id(2, 0));
+ RenderPassId(2, 0));
ASSERT_EQ(1u, render_pass->shared_quad_state_list.size());
SharedQuadState* shared_quad_state = render_pass->shared_quad_state_list[0];
@@ -176,7 +176,7 @@
ASSERT_EQ(1u, pass_sink.RenderPasses().size());
RenderPass* pass = pass_sink.RenderPasses()[0];
- EXPECT_EQ(RenderPass::Id(2, 0), pass->id);
+ EXPECT_EQ(RenderPassId(2, 0), pass->id);
EXPECT_RECT_EQ(content_rect, pass->output_rect);
EXPECT_EQ(origin, pass->transform_to_root_target);
}
diff --git a/cc/output/delegating_renderer_unittest.cc b/cc/output/delegating_renderer_unittest.cc
index f8e4b69b..99dc395 100644
--- a/cc/output/delegating_renderer_unittest.cc
+++ b/cc/output/delegating_renderer_unittest.cc
@@ -95,19 +95,17 @@
frame->render_passes.clear();
frame->render_passes_by_id.clear();
- TestRenderPass* child_pass = AddRenderPass(
- &frame->render_passes,
- RenderPass::Id(2, 1),
- gfx::Rect(3, 3, 10, 10),
- gfx::Transform());
- child_pass->AppendOneOfEveryQuadType(
- host_impl->resource_provider(), RenderPass::Id(0, 0));
+ TestRenderPass* child_pass = AddRenderPass(&frame->render_passes,
+ RenderPassId(2, 1),
+ gfx::Rect(3, 3, 10, 10),
+ gfx::Transform());
+ child_pass->AppendOneOfEveryQuadType(host_impl->resource_provider(),
+ RenderPassId(0, 0));
- TestRenderPass* pass = AddRenderPass(
- &frame->render_passes,
- RenderPass::Id(1, 1),
- gfx::Rect(3, 3, 10, 10),
- gfx::Transform());
+ TestRenderPass* pass = AddRenderPass(&frame->render_passes,
+ RenderPassId(1, 1),
+ gfx::Rect(3, 3, 10, 10),
+ gfx::Transform());
pass->AppendOneOfEveryQuadType(
host_impl->resource_provider(), child_pass->id);
return draw_result;
diff --git a/cc/output/direct_renderer.cc b/cc/output/direct_renderer.cc
index eed0229..b068da0d 100644
--- a/cc/output/direct_renderer.cc
+++ b/cc/output/direct_renderer.cc
@@ -148,19 +148,19 @@
if (!resource_provider_)
return;
- base::hash_map<RenderPass::Id, gfx::Size> render_passes_in_frame;
+ base::hash_map<RenderPassId, gfx::Size> render_passes_in_frame;
for (size_t i = 0; i < render_passes_in_draw_order.size(); ++i)
- render_passes_in_frame.insert(std::pair<RenderPass::Id, gfx::Size>(
+ render_passes_in_frame.insert(std::pair<RenderPassId, gfx::Size>(
render_passes_in_draw_order[i]->id,
RenderPassTextureSize(render_passes_in_draw_order[i])));
- std::vector<RenderPass::Id> passes_to_delete;
- base::ScopedPtrHashMap<RenderPass::Id, ScopedResource>::const_iterator
+ std::vector<RenderPassId> passes_to_delete;
+ base::ScopedPtrHashMap<RenderPassId, ScopedResource>::const_iterator
pass_iter;
for (pass_iter = render_pass_textures_.begin();
pass_iter != render_pass_textures_.end();
++pass_iter) {
- base::hash_map<RenderPass::Id, gfx::Size>::const_iterator it =
+ base::hash_map<RenderPassId, gfx::Size>::const_iterator it =
render_passes_in_frame.find(pass_iter->first);
if (it == render_passes_in_frame.end()) {
passes_to_delete.push_back(pass_iter->first);
@@ -415,8 +415,7 @@
return BindFramebufferToTexture(frame, texture, render_pass->output_rect);
}
-bool DirectRenderer::HasAllocatedResourcesForTesting(RenderPass::Id id)
- const {
+bool DirectRenderer::HasAllocatedResourcesForTesting(RenderPassId id) const {
ScopedResource* texture = render_pass_textures_.get(id);
return texture && texture->id();
}
diff --git a/cc/output/direct_renderer.h b/cc/output/direct_renderer.h
index dab93f9..f13ed37 100644
--- a/cc/output/direct_renderer.h
+++ b/cc/output/direct_renderer.h
@@ -27,8 +27,7 @@
virtual void DecideRenderPassAllocationsForFrame(
const RenderPassList& render_passes_in_draw_order) OVERRIDE;
- virtual bool HasAllocatedResourcesForTesting(RenderPass::Id id) const
- OVERRIDE;
+ virtual bool HasAllocatedResourcesForTesting(RenderPassId id) const OVERRIDE;
virtual void DrawFrame(RenderPassList* render_passes_in_draw_order,
float device_scale_factor,
const gfx::Rect& device_viewport_rect,
@@ -115,7 +114,7 @@
DrawingFrame* frame,
scoped_ptr<CopyOutputRequest> request) = 0;
- base::ScopedPtrHashMap<RenderPass::Id, ScopedResource> render_pass_textures_;
+ base::ScopedPtrHashMap<RenderPassId, ScopedResource> render_pass_textures_;
OutputSurface* output_surface_;
ResourceProvider* resource_provider_;
scoped_ptr<OverlayProcessor> overlay_processor_;
diff --git a/cc/output/gl_renderer_unittest.cc b/cc/output/gl_renderer_unittest.cc
index 5566d6bb..2ca7444f 100644
--- a/cc/output/gl_renderer_unittest.cc
+++ b/cc/output/gl_renderer_unittest.cc
@@ -314,7 +314,7 @@
EXPECT_EQ(1, renderer_client_.set_full_root_layer_damage_count());
AddRenderPass(&render_passes_in_draw_order_,
- RenderPass::Id(1, 0),
+ RenderPassId(1, 0),
viewport_rect,
gfx::Transform());
@@ -337,7 +337,7 @@
output_surface_->set_has_external_stencil_test(true);
TestRenderPass* root_pass = AddRenderPass(&render_passes_in_draw_order_,
- RenderPass::Id(1, 0),
+ RenderPassId(1, 0),
viewport_rect,
gfx::Transform());
root_pass->has_transparent_background = false;
@@ -556,7 +556,7 @@
gfx::Rect viewport_rect(1, 1);
TestRenderPass* root_pass = AddRenderPass(&render_passes_in_draw_order_,
- RenderPass::Id(1, 0),
+ RenderPassId(1, 0),
viewport_rect,
gfx::Transform());
root_pass->has_transparent_background = false;
@@ -602,7 +602,7 @@
gfx::Rect viewport_rect(1, 1);
TestRenderPass* root_pass = AddRenderPass(&render_passes_in_draw_order_,
- RenderPass::Id(1, 0),
+ RenderPassId(1, 0),
viewport_rect,
gfx::Transform());
root_pass->has_transparent_background = true;
@@ -641,7 +641,7 @@
gfx::Rect viewport_rect(1, 1);
AddRenderPass(&render_passes_in_draw_order_,
- RenderPass::Id(1, 0),
+ RenderPassId(1, 0),
viewport_rect,
gfx::Transform());
@@ -722,7 +722,7 @@
gfx::Rect viewport_rect(1, 1);
AddRenderPass(&render_passes_in_draw_order_,
- RenderPass::Id(1, 0),
+ RenderPassId(1, 0),
viewport_rect,
gfx::Transform());
@@ -788,11 +788,11 @@
// During initialization we are allowed to set any texture parameters.
EXPECT_CALL(*context, texParameteri(_, _, _)).Times(AnyNumber());
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
TestRenderPass* root_pass = AddRenderPass(
&render_passes_in_draw_order_, id, gfx::Rect(100, 100), gfx::Transform());
root_pass->AppendOneOfEveryQuadType(resource_provider.get(),
- RenderPass::Id(2, 1));
+ RenderPassId(2, 1));
renderer.DecideRenderPassAllocationsForFrame(render_passes_in_draw_order_);
@@ -874,14 +874,14 @@
gfx::Rect viewport_rect(10, 10);
- RenderPass::Id root_pass_id(1, 0);
+ RenderPassId root_pass_id(1, 0);
TestRenderPass* root_pass = AddRenderPass(&render_passes_in_draw_order_,
root_pass_id,
viewport_rect,
gfx::Transform());
AddQuad(root_pass, viewport_rect, SK_ColorGREEN);
- RenderPass::Id child_pass_id(2, 0);
+ RenderPassId child_pass_id(2, 0);
TestRenderPass* child_pass = AddRenderPass(&render_passes_in_draw_order_,
child_pass_id,
viewport_rect,
@@ -966,7 +966,7 @@
gfx::Rect viewport_rect(1, 1);
gfx::Rect grand_child_rect(25, 25);
- RenderPass::Id grand_child_pass_id(3, 0);
+ RenderPassId grand_child_pass_id(3, 0);
TestRenderPass* grand_child_pass =
AddRenderPass(&render_passes_in_draw_order_,
grand_child_pass_id,
@@ -975,14 +975,14 @@
AddClippedQuad(grand_child_pass, grand_child_rect, SK_ColorYELLOW);
gfx::Rect child_rect(50, 50);
- RenderPass::Id child_pass_id(2, 0);
+ RenderPassId child_pass_id(2, 0);
TestRenderPass* child_pass = AddRenderPass(&render_passes_in_draw_order_,
child_pass_id,
child_rect,
gfx::Transform());
AddQuad(child_pass, child_rect, SK_ColorBLUE);
- RenderPass::Id root_pass_id(1, 0);
+ RenderPassId root_pass_id(1, 0);
TestRenderPass* root_pass = AddRenderPass(&render_passes_in_draw_order_,
root_pass_id,
viewport_rect,
@@ -1062,7 +1062,7 @@
{
// Partial frame, should not discard.
- RenderPass::Id root_pass_id(1, 0);
+ RenderPassId root_pass_id(1, 0);
TestRenderPass* root_pass = AddRenderPass(&render_passes_in_draw_order_,
root_pass_id,
viewport_rect,
@@ -1081,7 +1081,7 @@
}
{
// Full frame, should discard.
- RenderPass::Id root_pass_id(1, 0);
+ RenderPassId root_pass_id(1, 0);
TestRenderPass* root_pass = AddRenderPass(&render_passes_in_draw_order_,
root_pass_id,
viewport_rect,
@@ -1101,7 +1101,7 @@
{
// Full frame, external scissor is set, should not discard.
output_surface->set_has_external_stencil_test(true);
- RenderPass::Id root_pass_id(1, 0);
+ RenderPassId root_pass_id(1, 0);
TestRenderPass* root_pass = AddRenderPass(&render_passes_in_draw_order_,
root_pass_id,
viewport_rect,
@@ -1123,7 +1123,7 @@
{
// Full frame, clipped, should not discard.
clip_rect = gfx::Rect(10, 10, 10, 10);
- RenderPass::Id root_pass_id(1, 0);
+ RenderPassId root_pass_id(1, 0);
TestRenderPass* root_pass = AddRenderPass(&render_passes_in_draw_order_,
root_pass_id,
viewport_rect,
@@ -1143,7 +1143,7 @@
{
// Full frame, doesn't cover the surface, should not discard.
viewport_rect = gfx::Rect(10, 10, 10, 10);
- RenderPass::Id root_pass_id(1, 0);
+ RenderPassId root_pass_id(1, 0);
TestRenderPass* root_pass = AddRenderPass(&render_passes_in_draw_order_,
root_pass_id,
viewport_rect,
@@ -1164,7 +1164,7 @@
// Full frame, doesn't cover the surface (no offset), should not discard.
clip_rect = gfx::Rect(100, 100);
viewport_rect = gfx::Rect(50, 50);
- RenderPass::Id root_pass_id(1, 0);
+ RenderPassId root_pass_id(1, 0);
TestRenderPass* root_pass = AddRenderPass(&render_passes_in_draw_order_,
root_pass_id,
viewport_rect,
@@ -1245,7 +1245,7 @@
gfx::Rect viewport_rect(device_viewport_rect.size());
gfx::Rect quad_rect = gfx::Rect(20, 20, 20, 20);
- RenderPass::Id root_pass_id(1, 0);
+ RenderPassId root_pass_id(1, 0);
TestRenderPass* root_pass = AddRenderPass(&render_passes_in_draw_order_,
root_pass_id,
viewport_rect,
@@ -1264,10 +1264,10 @@
gfx::Rect viewport_rect(1, 1);
gfx::Rect child_rect(50, 50);
- RenderPass::Id child_pass_id(2, 0);
+ RenderPassId child_pass_id(2, 0);
TestRenderPass* child_pass;
- RenderPass::Id root_pass_id(1, 0);
+ RenderPassId root_pass_id(1, 0);
TestRenderPass* root_pass;
ResourceProvider::ResourceId mask = resource_provider_->CreateResource(
@@ -1494,11 +1494,11 @@
// project incorrectly by the given transform, because of w<0 clipping.
TEST_F(GLRendererShaderTest, DrawRenderPassQuadSkipsAAForClippingTransform) {
gfx::Rect child_rect(50, 50);
- RenderPass::Id child_pass_id(2, 0);
+ RenderPassId child_pass_id(2, 0);
TestRenderPass* child_pass;
gfx::Rect viewport_rect(1, 1);
- RenderPass::Id root_pass_id(1, 0);
+ RenderPassId root_pass_id(1, 0);
TestRenderPass* root_pass;
gfx::Transform transform_preventing_aa;
@@ -1539,7 +1539,7 @@
TEST_F(GLRendererShaderTest, DrawSolidColorShader) {
gfx::Rect viewport_rect(1, 1);
- RenderPass::Id root_pass_id(1, 0);
+ RenderPassId root_pass_id(1, 0);
TestRenderPass* root_pass;
gfx::Transform pixel_aligned_transform_causing_aa;
@@ -1619,7 +1619,7 @@
void DrawFrame(float device_scale_factor,
const gfx::Rect& device_viewport_rect) {
- RenderPass::Id render_pass_id(1, 0);
+ RenderPassId render_pass_id(1, 0);
TestRenderPass* render_pass = AddRenderPass(&render_passes_in_draw_order_,
render_pass_id,
device_viewport_rect,
diff --git a/cc/output/overlay_unittest.cc b/cc/output/overlay_unittest.cc
index ab2a46af..0e28b22 100644
--- a/cc/output/overlay_unittest.cc
+++ b/cc/output/overlay_unittest.cc
@@ -105,7 +105,7 @@
};
scoped_ptr<RenderPass> CreateRenderPass() {
- RenderPass::Id id(1, 0);
+ RenderPassId id(1, 0);
gfx::Rect output_rect(0, 0, 256, 256);
bool has_transparent_background = true;
diff --git a/cc/output/renderer.cc b/cc/output/renderer.cc
index 2de4630..2a330288 100644
--- a/cc/output/renderer.cc
+++ b/cc/output/renderer.cc
@@ -4,9 +4,11 @@
#include "cc/output/renderer.h"
+#include "cc/quads/render_pass_id.h"
+
namespace cc {
-bool Renderer::HasAllocatedResourcesForTesting(RenderPass::Id id) const {
+bool Renderer::HasAllocatedResourcesForTesting(RenderPassId id) const {
return false;
}
diff --git a/cc/output/renderer.h b/cc/output/renderer.h
index 3b68749..da0ddc1 100644
--- a/cc/output/renderer.h
+++ b/cc/output/renderer.h
@@ -7,16 +7,20 @@
#include "base/basictypes.h"
#include "cc/base/cc_export.h"
-#include "cc/quads/render_pass.h"
+#include "cc/base/scoped_ptr_vector.h"
#include "cc/trees/layer_tree_host.h"
namespace cc {
class CompositorFrameAck;
class CompositorFrameMetadata;
+class RenderPass;
+class RenderPassId;
class ScopedResource;
class Task;
+typedef ScopedPtrVector<RenderPass> RenderPassList;
+
struct RendererCapabilitiesImpl {
RendererCapabilitiesImpl();
~RendererCapabilitiesImpl();
@@ -50,7 +54,7 @@
virtual void DecideRenderPassAllocationsForFrame(
const RenderPassList& render_passes_in_draw_order) {}
- virtual bool HasAllocatedResourcesForTesting(RenderPass::Id id) const;
+ virtual bool HasAllocatedResourcesForTesting(RenderPassId id) const;
// This passes ownership of the render passes to the renderer. It should
// consume them, and empty the list. The parameters here may change from frame
diff --git a/cc/output/renderer_pixeltest.cc b/cc/output/renderer_pixeltest.cc
index cc72967..a22540db 100644
--- a/cc/output/renderer_pixeltest.cc
+++ b/cc/output/renderer_pixeltest.cc
@@ -27,7 +27,7 @@
namespace {
#if !defined(OS_ANDROID)
-scoped_ptr<RenderPass> CreateTestRootRenderPass(RenderPass::Id id,
+scoped_ptr<RenderPass> CreateTestRootRenderPass(RenderPassId id,
const gfx::Rect& rect) {
scoped_ptr<RenderPass> pass = RenderPass::Create();
const gfx::Rect output_rect = rect;
@@ -38,7 +38,7 @@
}
scoped_ptr<RenderPass> CreateTestRenderPass(
- RenderPass::Id id,
+ RenderPassId id,
const gfx::Rect& rect,
const gfx::Transform& transform_to_root_target) {
scoped_ptr<RenderPass> pass = RenderPass::Create();
@@ -96,7 +96,7 @@
void CreateTestRenderPassDrawQuad(const SharedQuadState* shared_state,
const gfx::Rect& rect,
- RenderPass::Id pass_id,
+ RenderPassId pass_id,
RenderPass* render_pass) {
RenderPassDrawQuad* quad =
render_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
@@ -207,7 +207,7 @@
TYPED_TEST(RendererPixelTest, SimpleGreenRect) {
gfx::Rect rect(this->device_viewport_size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
SharedQuadState* shared_state =
@@ -230,7 +230,7 @@
gfx::Rect rect(this->device_viewport_size_);
gfx::Rect small_rect(100, 100);
- RenderPass::Id child_id(2, 1);
+ RenderPassId child_id(2, 1);
scoped_ptr<RenderPass> child_pass =
CreateTestRenderPass(child_id, small_rect, gfx::Transform());
@@ -241,7 +241,7 @@
child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
color_quad->SetNew(child_shared_state, rect, rect, SK_ColorGREEN, false);
- RenderPass::Id root_id(1, 1);
+ RenderPassId root_id(1, 1);
scoped_ptr<RenderPass> root_pass =
CreateTestRenderPass(root_id, rect, gfx::Transform());
@@ -267,7 +267,7 @@
TYPED_TEST(RendererPixelTest, PremultipliedTextureWithoutBackground) {
gfx::Rect rect(this->device_viewport_size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
SharedQuadState* shared_state =
@@ -297,7 +297,7 @@
TYPED_TEST(RendererPixelTest, PremultipliedTextureWithBackground) {
gfx::Rect rect(this->device_viewport_size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
SharedQuadState* texture_quad_state =
@@ -331,7 +331,7 @@
TEST_F(GLRendererPixelTest, NonPremultipliedTextureWithoutBackground) {
gfx::Rect rect(this->device_viewport_size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
SharedQuadState* shared_state =
@@ -362,7 +362,7 @@
TEST_F(GLRendererPixelTest, NonPremultipliedTextureWithBackground) {
gfx::Rect rect(this->device_viewport_size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
SharedQuadState* texture_quad_state =
@@ -546,7 +546,7 @@
TEST_F(VideoGLRendererPixelTest, SimpleYUVRect) {
gfx::Rect rect(this->device_viewport_size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
SharedQuadState* shared_state =
@@ -570,7 +570,7 @@
TEST_F(VideoGLRendererPixelTest, OffsetYUVRect) {
gfx::Rect rect(this->device_viewport_size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
SharedQuadState* shared_state =
@@ -595,7 +595,7 @@
TEST_F(VideoGLRendererPixelTest, SimpleYUVRectBlack) {
gfx::Rect rect(this->device_viewport_size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
SharedQuadState* shared_state =
@@ -624,7 +624,7 @@
TEST_F(VideoGLRendererPixelTest, SimpleYUVJRect) {
gfx::Rect rect(this->device_viewport_size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
SharedQuadState* shared_state =
@@ -651,7 +651,7 @@
TEST_F(VideoGLRendererPixelTest, SimpleYUVJRectGrey) {
gfx::Rect rect(this->device_viewport_size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
SharedQuadState* shared_state =
@@ -679,7 +679,7 @@
TEST_F(VideoGLRendererPixelTest, SimpleYUVARect) {
gfx::Rect rect(this->device_viewport_size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
SharedQuadState* shared_state =
@@ -707,7 +707,7 @@
TEST_F(VideoGLRendererPixelTest, FullyTransparentYUVARect) {
gfx::Rect rect(this->device_viewport_size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
SharedQuadState* shared_state =
@@ -735,11 +735,11 @@
TYPED_TEST(RendererPixelTest, FastPassColorFilterAlpha) {
gfx::Rect viewport_rect(this->device_viewport_size_);
- RenderPass::Id root_pass_id(1, 1);
+ RenderPassId root_pass_id(1, 1);
scoped_ptr<RenderPass> root_pass =
CreateTestRootRenderPass(root_pass_id, viewport_rect);
- RenderPass::Id child_pass_id(2, 2);
+ RenderPassId child_pass_id(2, 2);
gfx::Rect pass_rect(this->device_viewport_size_);
gfx::Transform transform_to_root;
scoped_ptr<RenderPass> child_pass =
@@ -826,11 +826,11 @@
TYPED_TEST(RendererPixelTest, FastPassSaturateFilter) {
gfx::Rect viewport_rect(this->device_viewport_size_);
- RenderPass::Id root_pass_id(1, 1);
+ RenderPassId root_pass_id(1, 1);
scoped_ptr<RenderPass> root_pass =
CreateTestRootRenderPass(root_pass_id, viewport_rect);
- RenderPass::Id child_pass_id(2, 2);
+ RenderPassId child_pass_id(2, 2);
gfx::Rect pass_rect(this->device_viewport_size_);
gfx::Transform transform_to_root;
scoped_ptr<RenderPass> child_pass =
@@ -895,11 +895,11 @@
TYPED_TEST(RendererPixelTest, FastPassFilterChain) {
gfx::Rect viewport_rect(this->device_viewport_size_);
- RenderPass::Id root_pass_id(1, 1);
+ RenderPassId root_pass_id(1, 1);
scoped_ptr<RenderPass> root_pass =
CreateTestRootRenderPass(root_pass_id, viewport_rect);
- RenderPass::Id child_pass_id(2, 2);
+ RenderPassId child_pass_id(2, 2);
gfx::Rect pass_rect(this->device_viewport_size_);
gfx::Transform transform_to_root;
scoped_ptr<RenderPass> child_pass =
@@ -965,11 +965,11 @@
TYPED_TEST(RendererPixelTest, FastPassColorFilterAlphaTranslation) {
gfx::Rect viewport_rect(this->device_viewport_size_);
- RenderPass::Id root_pass_id(1, 1);
+ RenderPassId root_pass_id(1, 1);
scoped_ptr<RenderPass> root_pass =
CreateTestRootRenderPass(root_pass_id, viewport_rect);
- RenderPass::Id child_pass_id(2, 2);
+ RenderPassId child_pass_id(2, 2);
gfx::Rect pass_rect(this->device_viewport_size_);
gfx::Transform transform_to_root;
scoped_ptr<RenderPass> child_pass =
@@ -1060,11 +1060,11 @@
TYPED_TEST(RendererPixelTest, EnlargedRenderPassTexture) {
gfx::Rect viewport_rect(this->device_viewport_size_);
- RenderPass::Id root_pass_id(1, 1);
+ RenderPassId root_pass_id(1, 1);
scoped_ptr<RenderPass> root_pass =
CreateTestRootRenderPass(root_pass_id, viewport_rect);
- RenderPass::Id child_pass_id(2, 2);
+ RenderPassId child_pass_id(2, 2);
gfx::Rect pass_rect(this->device_viewport_size_);
gfx::Transform transform_to_root;
scoped_ptr<RenderPass> child_pass =
@@ -1109,11 +1109,11 @@
TYPED_TEST(RendererPixelTest, EnlargedRenderPassTextureWithAntiAliasing) {
gfx::Rect viewport_rect(this->device_viewport_size_);
- RenderPass::Id root_pass_id(1, 1);
+ RenderPassId root_pass_id(1, 1);
scoped_ptr<RenderPass> root_pass =
CreateTestRootRenderPass(root_pass_id, viewport_rect);
- RenderPass::Id child_pass_id(2, 2);
+ RenderPassId child_pass_id(2, 2);
gfx::Rect pass_rect(this->device_viewport_size_);
gfx::Transform transform_to_root;
scoped_ptr<RenderPass> child_pass =
@@ -1173,13 +1173,13 @@
TYPED_TEST(RendererPixelTest, RenderPassAndMaskWithPartialQuad) {
gfx::Rect viewport_rect(this->device_viewport_size_);
- RenderPass::Id root_pass_id(1, 1);
+ RenderPassId root_pass_id(1, 1);
scoped_ptr<RenderPass> root_pass =
CreateTestRootRenderPass(root_pass_id, viewport_rect);
SharedQuadState* root_pass_shared_state = CreateTestSharedQuadState(
gfx::Transform(), viewport_rect, root_pass.get());
- RenderPass::Id child_pass_id(2, 2);
+ RenderPassId child_pass_id(2, 2);
gfx::Transform transform_to_root;
scoped_ptr<RenderPass> child_pass =
CreateTestRenderPass(child_pass_id, viewport_rect, transform_to_root);
@@ -1277,14 +1277,14 @@
void SetUpRenderPassList() {
gfx::Rect device_viewport_rect(this->device_viewport_size_);
- RenderPass::Id root_id(1, 1);
+ RenderPassId root_id(1, 1);
scoped_ptr<RenderPass> root_pass =
CreateTestRootRenderPass(root_id, device_viewport_rect);
root_pass->has_transparent_background = false;
gfx::Transform identity_content_to_target_transform;
- RenderPass::Id filter_pass_id(2, 1);
+ RenderPassId filter_pass_id(2, 1);
gfx::Transform transform_to_root;
scoped_ptr<RenderPass> filter_pass =
CreateTestRenderPass(filter_pass_id,
@@ -1445,7 +1445,7 @@
// Draw a blue quad that covers the entire device viewport. It should be
// clipped to the bottom left and top right corners by the external stencil.
gfx::Rect rect(this->device_viewport_size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
SharedQuadState* blue_shared_state =
CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
@@ -1468,7 +1468,7 @@
// Draw a green quad that covers the entire device viewport. The stencil
// buffer should be ignored.
gfx::Rect rect(this->device_viewport_size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
SharedQuadState* green_shared_state =
CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
@@ -1492,12 +1492,12 @@
gfx::Rect viewport_rect(this->device_viewport_size_);
- RenderPass::Id root_pass_id(1, 1);
+ RenderPassId root_pass_id(1, 1);
scoped_ptr<RenderPass> root_pass =
CreateTestRootRenderPass(root_pass_id, viewport_rect);
root_pass->has_transparent_background = false;
- RenderPass::Id child_pass_id(2, 2);
+ RenderPassId child_pass_id(2, 2);
gfx::Rect pass_rect(this->device_viewport_size_);
gfx::Transform transform_to_root;
scoped_ptr<RenderPass> child_pass =
@@ -1537,7 +1537,7 @@
// Draw a blue quad that covers the entire device viewport. It should be
// clipped to the bottom right corner by the device clip.
gfx::Rect rect(this->device_viewport_size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
SharedQuadState* blue_shared_state =
CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
@@ -1557,7 +1557,7 @@
TEST_F(GLRendererPixelTest, AntiAliasing) {
gfx::Rect rect(this->device_viewport_size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
gfx::Transform red_content_to_target_transform;
@@ -1599,7 +1599,7 @@
TEST_F(GLRendererPixelTest, AxisAligned) {
gfx::Rect rect(this->device_viewport_size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
gfx::Transform transform_to_root;
scoped_ptr<RenderPass> pass =
CreateTestRenderPass(id, rect, transform_to_root);
@@ -1647,7 +1647,7 @@
TEST_F(GLRendererPixelTest, ForceAntiAliasingOff) {
gfx::Rect rect(this->device_viewport_size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
gfx::Transform transform_to_root;
scoped_ptr<RenderPass> pass =
CreateTestRenderPass(id, rect, transform_to_root);
@@ -1686,7 +1686,7 @@
gfx::Rect rect(this->device_viewport_size_);
scoped_ptr<RenderPass> pass =
- CreateTestRootRenderPass(RenderPass::Id(1, 1), rect);
+ CreateTestRootRenderPass(RenderPassId(1, 1), rect);
gfx::Rect red_rect(0, 0, 180, 500);
gfx::Transform red_content_to_target_transform(
@@ -1728,7 +1728,7 @@
// TODO(enne): the renderer should figure this out on its own.
ResourceFormat texture_format = RGBA_8888;
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
gfx::Transform transform_to_root;
scoped_ptr<RenderPass> pass =
CreateTestRenderPass(id, viewport, transform_to_root);
@@ -1811,7 +1811,7 @@
gfx::Rect viewport(this->device_viewport_size_);
ResourceFormat texture_format = RGBA_8888;
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
gfx::Transform transform_to_root;
scoped_ptr<RenderPass> pass =
CreateTestRenderPass(id, viewport, transform_to_root);
@@ -1902,7 +1902,7 @@
gfx::Rect viewport(this->device_viewport_size_);
ResourceFormat texture_format = RGBA_8888;
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
gfx::Transform transform_to_root;
scoped_ptr<RenderPass> pass =
CreateTestRenderPass(id, viewport, transform_to_root);
@@ -1958,7 +1958,7 @@
// TODO(enne): the renderer should figure this out on its own.
ResourceFormat texture_format = RGBA_8888;
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
gfx::Transform transform_to_root;
scoped_ptr<RenderPass> pass =
CreateTestRenderPass(id, viewport, transform_to_root);
@@ -2113,7 +2113,7 @@
gfx::Rect viewport(this->device_viewport_size_);
ResourceFormat texture_format = RGBA_4444;
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
gfx::Transform transform_to_root;
scoped_ptr<RenderPass> pass =
CreateTestRenderPass(id, viewport, transform_to_root);
@@ -2153,7 +2153,7 @@
TYPED_TEST(RendererPixelTest, WrapModeRepeat) {
gfx::Rect rect(this->device_viewport_size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
SharedQuadState* shared_state =
diff --git a/cc/output/software_renderer_unittest.cc b/cc/output/software_renderer_unittest.cc
index 46d5900..bcade58 100644
--- a/cc/output/software_renderer_unittest.cc
+++ b/cc/output/software_renderer_unittest.cc
@@ -99,7 +99,7 @@
InitializeRenderer(make_scoped_ptr(new SoftwareOutputDevice));
- RenderPass::Id root_render_pass_id = RenderPass::Id(1, 1);
+ RenderPassId root_render_pass_id = RenderPassId(1, 1);
scoped_ptr<TestRenderPass> root_render_pass = TestRenderPass::Create();
root_render_pass->SetNew(
root_render_pass_id, outer_rect, outer_rect, gfx::Transform());
@@ -184,7 +184,7 @@
gfx::Rect root_rect = outer_rect;
- RenderPass::Id root_render_pass_id = RenderPass::Id(1, 1);
+ RenderPassId root_render_pass_id = RenderPassId(1, 1);
scoped_ptr<TestRenderPass> root_render_pass = TestRenderPass::Create();
root_render_pass->SetNew(
root_render_pass_id, root_rect, root_rect, gfx::Transform());
@@ -267,7 +267,7 @@
gfx::Rect root_rect(tile_size);
- RenderPass::Id root_render_pass_id = RenderPass::Id(1, 1);
+ RenderPassId root_render_pass_id = RenderPassId(1, 1);
scoped_ptr<TestRenderPass> root_render_pass = TestRenderPass::Create();
root_render_pass->SetNew(
root_render_pass_id, root_rect, root_rect, gfx::Transform());
@@ -333,7 +333,7 @@
RenderPassList list;
// Draw a fullscreen green quad in a first frame.
- RenderPass::Id root_clear_pass_id(1, 0);
+ RenderPassId root_clear_pass_id(1, 0);
TestRenderPass* root_clear_pass = AddRenderPass(
&list, root_clear_pass_id, device_viewport_rect, gfx::Transform());
AddQuad(root_clear_pass, device_viewport_rect, SK_ColorGREEN);
@@ -356,7 +356,7 @@
// frame.
gfx::Rect smaller_rect(20, 20, 60, 60);
- RenderPass::Id root_smaller_pass_id(2, 0);
+ RenderPassId root_smaller_pass_id(2, 0);
TestRenderPass* root_smaller_pass = AddRenderPass(
&list, root_smaller_pass_id, device_viewport_rect, gfx::Transform());
AddQuad(root_smaller_pass, smaller_rect, SK_ColorMAGENTA);
@@ -389,13 +389,13 @@
// Pass drawn as inner quad is magenta.
gfx::Rect smaller_rect(20, 20, 60, 60);
- RenderPass::Id smaller_pass_id(2, 1);
+ RenderPassId smaller_pass_id(2, 1);
TestRenderPass* smaller_pass =
AddRenderPass(&list, smaller_pass_id, smaller_rect, gfx::Transform());
AddQuad(smaller_pass, smaller_rect, SK_ColorMAGENTA);
// Root pass is green.
- RenderPass::Id root_clear_pass_id(1, 0);
+ RenderPassId root_clear_pass_id(1, 0);
TestRenderPass* root_clear_pass = AddRenderPass(
&list, root_clear_pass_id, device_viewport_rect, gfx::Transform());
AddRenderPassQuad(root_clear_pass, smaller_pass);
diff --git a/cc/quads/draw_quad_unittest.cc b/cc/quads/draw_quad_unittest.cc
index 40dfe81..e3697ec 100644
--- a/cc/quads/draw_quad_unittest.cc
+++ b/cc/quads/draw_quad_unittest.cc
@@ -415,7 +415,7 @@
TEST(DrawQuadTest, CopyRenderPassDrawQuad) {
gfx::Rect visible_rect(40, 50, 30, 20);
- RenderPass::Id render_pass_id(22, 64);
+ RenderPassId render_pass_id(22, 64);
ResourceProvider::ResourceId mask_resource_id = 78;
gfx::RectF mask_u_v_rect(-45.f, -21.f, 33.f, 19.f);
FilterOperations filters;
@@ -425,7 +425,7 @@
background_filters.Append(
FilterOperation::CreateGrayscaleFilter(1.f));
- RenderPass::Id copied_render_pass_id(235, 11);
+ RenderPassId copied_render_pass_id(235, 11);
CREATE_SHARED_STATE();
CREATE_QUAD_NEW_RP(RenderPassDrawQuad,
@@ -754,7 +754,7 @@
TEST_F(DrawQuadIteratorTest, RenderPassDrawQuad) {
gfx::Rect visible_rect(40, 50, 30, 20);
- RenderPass::Id render_pass_id(22, 64);
+ RenderPassId render_pass_id(22, 64);
ResourceProvider::ResourceId mask_resource_id = 78;
gfx::RectF mask_u_v_rect(-45.f, -21.f, 33.f, 19.f);
FilterOperations filters;
@@ -764,7 +764,7 @@
background_filters.Append(
FilterOperation::CreateGrayscaleFilter(1.f));
- RenderPass::Id copied_render_pass_id(235, 11);
+ RenderPassId copied_render_pass_id(235, 11);
CREATE_SHARED_STATE();
CREATE_QUAD_NEW_RP(RenderPassDrawQuad,
diff --git a/cc/quads/render_pass.cc b/cc/quads/render_pass.cc
index 43bb7cd..6cb59d8 100644
--- a/cc/quads/render_pass.cc
+++ b/cc/quads/render_pass.cc
@@ -30,12 +30,6 @@
namespace cc {
-void* RenderPass::Id::AsTracingId() const {
- COMPILE_ASSERT(sizeof(size_t) <= sizeof(void*), // NOLINT
- size_t_bigger_than_pointer);
- return reinterpret_cast<void*>(base::HashPair(layer_id, index));
-}
-
scoped_ptr<RenderPass> RenderPass::Create() {
return make_scoped_ptr(new RenderPass());
}
@@ -44,13 +38,14 @@
return make_scoped_ptr(new RenderPass(num_layers));
}
-RenderPass::RenderPass() : id(Id(-1, -1)), has_transparent_background(true) {
+RenderPass::RenderPass()
+ : id(RenderPassId(-1, -1)), has_transparent_background(true) {
shared_quad_state_list.reserve(kDefaultNumSharedQuadStatesToReserve);
quad_list.reserve(kDefaultNumQuadsToReserve);
}
RenderPass::RenderPass(size_t num_layers)
- : id(Id(-1, -1)), has_transparent_background(true) {
+ : id(RenderPassId(-1, -1)), has_transparent_background(true) {
// Each layer usually produces one shared quad state, so the number of layers
// is a good hint for what to reserve here.
shared_quad_state_list.reserve(num_layers);
@@ -63,7 +58,7 @@
"cc::RenderPass", id.AsTracingId());
}
-scoped_ptr<RenderPass> RenderPass::Copy(Id new_id) const {
+scoped_ptr<RenderPass> RenderPass::Copy(RenderPassId new_id) const {
scoped_ptr<RenderPass> copy_pass(Create());
copy_pass->SetAll(new_id,
output_rect,
@@ -121,7 +116,7 @@
}
}
-void RenderPass::SetNew(Id id,
+void RenderPass::SetNew(RenderPassId id,
const gfx::Rect& output_rect,
const gfx::Rect& damage_rect,
const gfx::Transform& transform_to_root_target) {
@@ -140,7 +135,7 @@
DCHECK(shared_quad_state_list.empty());
}
-void RenderPass::SetAll(Id id,
+void RenderPass::SetAll(RenderPassId id,
const gfx::Rect& output_rect,
const gfx::Rect& damage_rect,
const gfx::Transform& transform_to_root_target,
@@ -201,7 +196,7 @@
RenderPassDrawQuad* RenderPass::CopyFromAndAppendRenderPassDrawQuad(
const RenderPassDrawQuad* quad,
const SharedQuadState* shared_quad_state,
- RenderPass::Id render_pass_id) {
+ RenderPassId render_pass_id) {
RenderPassDrawQuad* copy_quad =
CopyFromAndAppendTypedDrawQuad<RenderPassDrawQuad>(quad);
copy_quad->shared_quad_state = shared_quad_state;
diff --git a/cc/quads/render_pass.h b/cc/quads/render_pass.h
index 8d41142..5b0c3b6 100644
--- a/cc/quads/render_pass.h
+++ b/cc/quads/render_pass.h
@@ -12,6 +12,7 @@
#include "base/containers/hash_tables.h"
#include "cc/base/cc_export.h"
#include "cc/base/scoped_ptr_vector.h"
+#include "cc/quads/render_pass_id.h"
#include "skia/ext/refptr.h"
#include "ui/gfx/rect.h"
#include "ui/gfx/rect_f.h"
@@ -47,25 +48,6 @@
class CC_EXPORT RenderPass {
public:
- struct Id {
- int layer_id;
- int index;
-
- Id(int layer_id, int index) : layer_id(layer_id), index(index) {}
- void* AsTracingId() const;
-
- bool operator==(const Id& other) const {
- return layer_id == other.layer_id && index == other.index;
- }
- bool operator!=(const Id& other) const {
- return !(*this == other);
- }
- bool operator<(const Id& other) const {
- return layer_id < other.layer_id ||
- (layer_id == other.layer_id && index < other.index);
- }
- };
-
~RenderPass();
static scoped_ptr<RenderPass> Create();
@@ -73,18 +55,18 @@
// A shallow copy of the render pass, which does not include its quads or copy
// requests.
- scoped_ptr<RenderPass> Copy(Id new_id) const;
+ scoped_ptr<RenderPass> Copy(RenderPassId new_id) const;
// A deep copy of the render passes in the list including the quads.
static void CopyAll(const ScopedPtrVector<RenderPass>& in,
ScopedPtrVector<RenderPass>* out);
- void SetNew(Id id,
+ void SetNew(RenderPassId id,
const gfx::Rect& output_rect,
const gfx::Rect& damage_rect,
const gfx::Transform& transform_to_root_target);
- void SetAll(Id id,
+ void SetAll(RenderPassId id,
const gfx::Rect& output_rect,
const gfx::Rect& damage_rect,
const gfx::Transform& transform_to_root_target,
@@ -103,12 +85,12 @@
RenderPassDrawQuad* CopyFromAndAppendRenderPassDrawQuad(
const RenderPassDrawQuad* quad,
const SharedQuadState* shared_quad_state,
- RenderPass::Id render_pass_id);
+ RenderPassId render_pass_id);
DrawQuad* CopyFromAndAppendDrawQuad(const DrawQuad* quad,
const SharedQuadState* shared_quad_state);
// Uniquely identifies the render pass in the compositor's current frame.
- Id id;
+ RenderPassId id;
// These are in the space of the render pass' physical pixels.
gfx::Rect output_rect;
@@ -150,13 +132,13 @@
namespace BASE_HASH_NAMESPACE {
#if defined(COMPILER_MSVC)
-inline size_t hash_value(const cc::RenderPass::Id& key) {
+inline size_t hash_value(const cc::RenderPassId& key) {
return base::HashPair(key.layer_id, key.index);
}
#elif defined(COMPILER_GCC)
-template<>
-struct hash<cc::RenderPass::Id> {
- size_t operator()(cc::RenderPass::Id key) const {
+template <>
+struct hash<cc::RenderPassId> {
+ size_t operator()(cc::RenderPassId key) const {
return base::HashPair(key.layer_id, key.index);
}
};
@@ -167,7 +149,7 @@
namespace cc {
typedef ScopedPtrVector<RenderPass> RenderPassList;
-typedef base::hash_map<RenderPass::Id, RenderPass*> RenderPassIdHashMap;
+typedef base::hash_map<RenderPassId, RenderPass*> RenderPassIdHashMap;
} // namespace cc
#endif // CC_QUADS_RENDER_PASS_H_
diff --git a/cc/quads/render_pass_draw_quad.cc b/cc/quads/render_pass_draw_quad.cc
index aad279e..005aed5 100644
--- a/cc/quads/render_pass_draw_quad.cc
+++ b/cc/quads/render_pass_draw_quad.cc
@@ -13,23 +13,22 @@
namespace cc {
RenderPassDrawQuad::RenderPassDrawQuad()
- : render_pass_id(RenderPass::Id(-1, -1)),
+ : render_pass_id(RenderPassId(-1, -1)),
mask_resource_id(static_cast<ResourceProvider::ResourceId>(-1)) {
}
RenderPassDrawQuad::~RenderPassDrawQuad() {
}
-void RenderPassDrawQuad::SetNew(
- const SharedQuadState* shared_quad_state,
- const gfx::Rect& rect,
- const gfx::Rect& visible_rect,
- RenderPass::Id render_pass_id,
- ResourceProvider::ResourceId mask_resource_id,
- const gfx::RectF& mask_uv_rect,
- const FilterOperations& filters,
- const gfx::Vector2dF& filters_scale,
- const FilterOperations& background_filters) {
+void RenderPassDrawQuad::SetNew(const SharedQuadState* shared_quad_state,
+ const gfx::Rect& rect,
+ const gfx::Rect& visible_rect,
+ RenderPassId render_pass_id,
+ ResourceProvider::ResourceId mask_resource_id,
+ const gfx::RectF& mask_uv_rect,
+ const FilterOperations& filters,
+ const gfx::Vector2dF& filters_scale,
+ const FilterOperations& background_filters) {
DCHECK_GT(render_pass_id.layer_id, 0);
DCHECK_GE(render_pass_id.index, 0);
@@ -48,18 +47,17 @@
background_filters);
}
-void RenderPassDrawQuad::SetAll(
- const SharedQuadState* shared_quad_state,
- const gfx::Rect& rect,
- const gfx::Rect& opaque_rect,
- const gfx::Rect& visible_rect,
- bool needs_blending,
- RenderPass::Id render_pass_id,
- ResourceProvider::ResourceId mask_resource_id,
- const gfx::RectF& mask_uv_rect,
- const FilterOperations& filters,
- const gfx::Vector2dF& filters_scale,
- const FilterOperations& background_filters) {
+void RenderPassDrawQuad::SetAll(const SharedQuadState* shared_quad_state,
+ const gfx::Rect& rect,
+ const gfx::Rect& opaque_rect,
+ const gfx::Rect& visible_rect,
+ bool needs_blending,
+ RenderPassId render_pass_id,
+ ResourceProvider::ResourceId mask_resource_id,
+ const gfx::RectF& mask_uv_rect,
+ const FilterOperations& filters,
+ const gfx::Vector2dF& filters_scale,
+ const FilterOperations& background_filters) {
DCHECK_GT(render_pass_id.layer_id, 0);
DCHECK_GE(render_pass_id.index, 0);
diff --git a/cc/quads/render_pass_draw_quad.h b/cc/quads/render_pass_draw_quad.h
index 9cc4ba3..40540d2 100644
--- a/cc/quads/render_pass_draw_quad.h
+++ b/cc/quads/render_pass_draw_quad.h
@@ -10,7 +10,7 @@
#include "cc/base/cc_export.h"
#include "cc/output/filter_operations.h"
#include "cc/quads/draw_quad.h"
-#include "cc/quads/render_pass.h"
+#include "cc/quads/render_pass_id.h"
#include "cc/resources/resource_provider.h"
namespace cc {
@@ -23,7 +23,7 @@
void SetNew(const SharedQuadState* shared_quad_state,
const gfx::Rect& rect,
const gfx::Rect& visible_rect,
- RenderPass::Id render_pass_id,
+ RenderPassId render_pass_id,
ResourceProvider::ResourceId mask_resource_id,
const gfx::RectF& mask_uv_rect,
const FilterOperations& filters,
@@ -35,14 +35,14 @@
const gfx::Rect& opaque_rect,
const gfx::Rect& visible_rect,
bool needs_blending,
- RenderPass::Id render_pass_id,
+ RenderPassId render_pass_id,
ResourceProvider::ResourceId mask_resource_id,
const gfx::RectF& mask_uv_rect,
const FilterOperations& filters,
const gfx::Vector2dF& filters_scale,
const FilterOperations& background_filters);
- RenderPass::Id render_pass_id;
+ RenderPassId render_pass_id;
ResourceProvider::ResourceId mask_resource_id;
gfx::RectF mask_uv_rect;
diff --git a/cc/quads/render_pass_id.cc b/cc/quads/render_pass_id.cc
new file mode 100644
index 0000000..d15240db
--- /dev/null
+++ b/cc/quads/render_pass_id.cc
@@ -0,0 +1,15 @@
+// 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.
+
+#include "cc/quads/render_pass_id.h"
+
+namespace cc {
+
+void* RenderPassId::AsTracingId() const {
+ COMPILE_ASSERT(sizeof(size_t) <= sizeof(void*), // NOLINT
+ size_t_bigger_than_pointer);
+ return reinterpret_cast<void*>(base::HashPair(layer_id, index));
+}
+
+} // namespace cc
diff --git a/cc/quads/render_pass_id.h b/cc/quads/render_pass_id.h
new file mode 100644
index 0000000..0554130
--- /dev/null
+++ b/cc/quads/render_pass_id.h
@@ -0,0 +1,34 @@
+// 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_RENDER_PASS_ID_H_
+#define CC_QUADS_RENDER_PASS_ID_H_
+
+#include "base/basictypes.h"
+#include "base/containers/hash_tables.h"
+#include "cc/base/cc_export.h"
+
+namespace cc {
+
+class CC_EXPORT RenderPassId {
+ public:
+ int layer_id;
+ int index;
+
+ RenderPassId(int layer_id, int index) : layer_id(layer_id), index(index) {}
+ void* AsTracingId() const;
+
+ bool operator==(const RenderPassId& other) const {
+ return layer_id == other.layer_id && index == other.index;
+ }
+ bool operator!=(const RenderPassId& other) const { return !(*this == other); }
+ bool operator<(const RenderPassId& other) const {
+ return layer_id < other.layer_id ||
+ (layer_id == other.layer_id && index < other.index);
+ }
+};
+
+} // namespace cc
+
+#endif // CC_QUADS_RENDER_PASS_ID_H_
diff --git a/cc/quads/render_pass_unittest.cc b/cc/quads/render_pass_unittest.cc
index 4e555b8..9d12318 100644
--- a/cc/quads/render_pass_unittest.cc
+++ b/cc/quads/render_pass_unittest.cc
@@ -23,7 +23,7 @@
struct RenderPassSize {
// If you add a new field to this class, make sure to add it to the
// Copy() tests.
- RenderPass::Id id;
+ RenderPassId id;
QuadList quad_list;
SharedQuadStateList shared_quad_state_list;
gfx::Transform transform_to_root_target;
@@ -63,7 +63,7 @@
}
TEST(RenderPassTest, CopyShouldBeIdenticalExceptIdAndQuads) {
- RenderPass::Id id(3, 2);
+ RenderPassId id(3, 2);
gfx::Rect output_rect(45, 22, 120, 13);
gfx::Transform transform_to_root =
gfx::Transform(1.0, 0.5, 0.5, -0.5, -1.0, 0.0);
@@ -94,7 +94,7 @@
checkerboard_quad->SetNew(
pass->shared_quad_state_list.back(), gfx::Rect(), gfx::Rect(), SkColor());
- RenderPass::Id new_id(63, 4);
+ RenderPassId new_id(63, 4);
scoped_ptr<RenderPass> copy = pass->Copy(new_id);
EXPECT_EQ(new_id, copy->id);
@@ -114,7 +114,7 @@
TEST(RenderPassTest, CopyAllShouldBeIdentical) {
RenderPassList pass_list;
- RenderPass::Id id(3, 2);
+ RenderPassId id(3, 2);
gfx::Rect output_rect(45, 22, 120, 13);
gfx::Transform transform_to_root =
gfx::Transform(1.0, 0.5, 0.5, -0.5, -1.0, 0.0);
@@ -179,7 +179,7 @@
SkColor());
// A second render pass with a quad.
- RenderPass::Id contrib_id(4, 1);
+ RenderPassId contrib_id(4, 1);
gfx::Rect contrib_output_rect(10, 15, 12, 17);
gfx::Transform contrib_transform_to_root =
gfx::Transform(1.0, 0.5, 0.5, -0.5, -1.0, 0.0);
@@ -237,7 +237,7 @@
TEST(RenderPassTest, CopyAllWithCulledQuads) {
RenderPassList pass_list;
- RenderPass::Id id(3, 2);
+ RenderPassId id(3, 2);
gfx::Rect output_rect(45, 22, 120, 13);
gfx::Transform transform_to_root =
gfx::Transform(1.0, 0.5, 0.5, -0.5, -1.0, 0.0);
diff --git a/cc/surfaces/surface_aggregator.cc b/cc/surfaces/surface_aggregator.cc
index af2bc9c2..f9ef036 100644
--- a/cc/surfaces/surface_aggregator.cc
+++ b/cc/surfaces/surface_aggregator.cc
@@ -35,28 +35,27 @@
: surface_id_(surface_id), next_index_(1) {}
~RenderPassIdAllocator() {}
- void AddKnownPass(RenderPass::Id id) {
+ void AddKnownPass(RenderPassId id) {
if (id_to_index_map_.find(id) != id_to_index_map_.end())
return;
id_to_index_map_[id] = next_index_++;
}
- RenderPass::Id Remap(RenderPass::Id id) {
+ RenderPassId Remap(RenderPassId id) {
DCHECK(id_to_index_map_.find(id) != id_to_index_map_.end());
- return RenderPass::Id(surface_id_.id, id_to_index_map_[id]);
+ return RenderPassId(surface_id_.id, id_to_index_map_[id]);
}
private:
- base::hash_map<RenderPass::Id, int> id_to_index_map_;
+ base::hash_map<RenderPassId, int> id_to_index_map_;
SurfaceId surface_id_;
int next_index_;
DISALLOW_COPY_AND_ASSIGN(RenderPassIdAllocator);
};
-RenderPass::Id SurfaceAggregator::RemapPassId(
- RenderPass::Id surface_local_pass_id,
- SurfaceId surface_id) {
+RenderPassId SurfaceAggregator::RemapPassId(RenderPassId surface_local_pass_id,
+ SurfaceId surface_id) {
RenderPassIdAllocator* allocator = render_pass_allocator_map_.get(surface_id);
if (!allocator) {
allocator = new RenderPassIdAllocator(surface_id);
@@ -164,7 +163,7 @@
scoped_ptr<RenderPass> copy_pass(RenderPass::Create());
- RenderPass::Id remapped_pass_id = RemapPassId(source.id, surface_id);
+ RenderPassId remapped_pass_id = RemapPassId(source.id, surface_id);
copy_pass->SetAll(remapped_pass_id,
source.output_rect,
@@ -252,8 +251,8 @@
if (quad->material == DrawQuad::RENDER_PASS) {
const RenderPassDrawQuad* pass_quad =
RenderPassDrawQuad::MaterialCast(quad);
- RenderPass::Id original_pass_id = pass_quad->render_pass_id;
- RenderPass::Id remapped_pass_id =
+ RenderPassId original_pass_id = pass_quad->render_pass_id;
+ RenderPassId remapped_pass_id =
RemapPassId(original_pass_id, surface_id);
dest_pass->CopyFromAndAppendRenderPassDrawQuad(
@@ -275,7 +274,7 @@
scoped_ptr<RenderPass> copy_pass(RenderPass::Create());
- RenderPass::Id remapped_pass_id = RemapPassId(source.id, surface_id);
+ RenderPassId remapped_pass_id = RemapPassId(source.id, surface_id);
copy_pass->SetAll(remapped_pass_id,
source.output_rect,
diff --git a/cc/surfaces/surface_aggregator.h b/cc/surfaces/surface_aggregator.h
index de9a6d6..65174b53 100644
--- a/cc/surfaces/surface_aggregator.h
+++ b/cc/surfaces/surface_aggregator.h
@@ -34,8 +34,8 @@
std::set<SurfaceId>* contained_surfaces);
private:
- RenderPass::Id RemapPassId(RenderPass::Id surface_local_pass_id,
- SurfaceId surface_id);
+ RenderPassId RemapPassId(RenderPassId surface_local_pass_id,
+ SurfaceId surface_id);
void HandleSurfaceQuad(const SurfaceDrawQuad* surface_quad,
RenderPass* dest_pass);
diff --git a/cc/surfaces/surface_aggregator_test_helpers.cc b/cc/surfaces/surface_aggregator_test_helpers.cc
index f5b623b4..f273fd3 100644
--- a/cc/surfaces/surface_aggregator_test_helpers.cc
+++ b/cc/surfaces/surface_aggregator_test_helpers.cc
@@ -51,8 +51,7 @@
gfx::Rect(surface_size),
surface_id);
}
-void AddTestRenderPassQuad(TestRenderPass* pass,
- RenderPass::Id render_pass_id) {
+void AddTestRenderPassQuad(TestRenderPass* pass, RenderPassId render_pass_id) {
gfx::Rect output_rect = gfx::Rect(0, 0, 5, 5);
SharedQuadState* shared_state = pass->CreateAndAppendSharedQuadState();
shared_state->SetAll(gfx::Transform(),
diff --git a/cc/surfaces/surface_aggregator_test_helpers.h b/cc/surfaces/surface_aggregator_test_helpers.h
index 75bfaeb1..798682ba 100644
--- a/cc/surfaces/surface_aggregator_test_helpers.h
+++ b/cc/surfaces/surface_aggregator_test_helpers.h
@@ -5,17 +5,21 @@
#ifndef CC_SURFACES_SURFACE_AGGREGATOR_TEST_HELPERS_H_
#define CC_SURFACES_SURFACE_AGGREGATOR_TEST_HELPERS_H_
+#include "cc/base/scoped_ptr_vector.h"
#include "cc/quads/draw_quad.h"
-#include "cc/quads/render_pass.h"
+#include "cc/quads/render_pass_id.h"
#include "cc/surfaces/surface_id.h"
#include "third_party/skia/include/core/SkColor.h"
#include "ui/gfx/size.h"
namespace cc {
+class RenderPass;
class Surface;
class TestRenderPass;
+typedef ScopedPtrVector<RenderPass> RenderPassList;
+
namespace test {
struct Quad {
@@ -33,7 +37,7 @@
return quad;
}
- static Quad RenderPassQuad(RenderPass::Id id) {
+ static Quad RenderPassQuad(RenderPassId id) {
Quad quad;
quad.material = DrawQuad::RENDER_PASS;
quad.render_pass_id = id;
@@ -46,7 +50,7 @@
// Set when material==DrawQuad::SOLID_COLOR.
SkColor color;
// Set when material==DrawQuad::RENDER_PASS.
- RenderPass::Id render_pass_id;
+ RenderPassId render_pass_id;
private:
Quad()
@@ -56,14 +60,14 @@
};
struct Pass {
- Pass(Quad* quads, size_t quad_count, RenderPass::Id id)
+ Pass(Quad* quads, size_t quad_count, RenderPassId id)
: quads(quads), quad_count(quad_count), id(id) {}
Pass(Quad* quads, size_t quad_count)
: quads(quads), quad_count(quad_count), id(1, 1) {}
Quad* quads;
size_t quad_count;
- RenderPass::Id id;
+ RenderPassId id;
};
void AddSurfaceQuad(TestRenderPass* pass,
diff --git a/cc/surfaces/surface_aggregator_unittest.cc b/cc/surfaces/surface_aggregator_unittest.cc
index c726c80..766753a 100644
--- a/cc/surfaces/surface_aggregator_unittest.cc
+++ b/cc/surfaces/surface_aggregator_unittest.cc
@@ -201,8 +201,8 @@
SurfaceId embedded_surface_id = allocator_.GenerateId();
factory_.Create(embedded_surface_id, SurfaceSize());
- RenderPass::Id pass_ids[] = {RenderPass::Id(1, 1), RenderPass::Id(1, 2),
- RenderPass::Id(1, 3)};
+ RenderPassId pass_ids[] = {RenderPassId(1, 1), RenderPassId(1, 2),
+ RenderPassId(1, 3)};
test::Quad embedded_quads[][2] = {
{test::Quad::SolidColorQuad(1), test::Quad::SolidColorQuad(2)},
@@ -239,7 +239,7 @@
const RenderPassList& aggregated_pass_list = frame_data->render_pass_list;
ASSERT_EQ(5u, aggregated_pass_list.size());
- RenderPass::Id actual_pass_ids[] = {
+ RenderPassId actual_pass_ids[] = {
aggregated_pass_list[0]->id, aggregated_pass_list[1]->id,
aggregated_pass_list[2]->id, aggregated_pass_list[3]->id,
aggregated_pass_list[4]->id};
@@ -432,7 +432,7 @@
SurfaceId child_surface_id = allocator_.GenerateId();
factory_.Create(child_surface_id, SurfaceSize());
- RenderPass::Id child_pass_id[] = {RenderPass::Id(1, 1), RenderPass::Id(1, 2)};
+ RenderPassId child_pass_id[] = {RenderPassId(1, 1), RenderPassId(1, 2)};
test::Quad child_quad[][1] = {{test::Quad::SolidColorQuad(SK_ColorGREEN)},
{test::Quad::RenderPassQuad(child_pass_id[0])}};
test::Pass surface_passes[] = {
@@ -442,8 +442,7 @@
SubmitFrame(surface_passes, arraysize(surface_passes), child_surface_id);
// Pass IDs from the parent surface may collide with ones from the child.
- RenderPass::Id parent_pass_id[] = {RenderPass::Id(2, 1),
- RenderPass::Id(1, 2)};
+ RenderPassId parent_pass_id[] = {RenderPassId(2, 1), RenderPassId(1, 2)};
test::Quad parent_quad[][1] = {
{test::Quad::SurfaceQuad(child_surface_id)},
{test::Quad::RenderPassQuad(parent_pass_id[0])}};
@@ -464,9 +463,9 @@
const RenderPassList& aggregated_pass_list = frame_data->render_pass_list;
ASSERT_EQ(3u, aggregated_pass_list.size());
- RenderPass::Id actual_pass_ids[] = {aggregated_pass_list[0]->id,
- aggregated_pass_list[1]->id,
- aggregated_pass_list[2]->id};
+ RenderPassId actual_pass_ids[] = {aggregated_pass_list[0]->id,
+ aggregated_pass_list[1]->id,
+ aggregated_pass_list[2]->id};
// Make sure the aggregated frame's pass IDs are all unique.
for (size_t i = 0; i < 3; ++i) {
for (size_t j = 0; j < i; ++j) {
@@ -558,7 +557,7 @@
SkXfermode::kDstIn_Mode, // 6
};
- RenderPass::Id pass_id(1, 1);
+ RenderPassId pass_id(1, 1);
SurfaceId grandchild_surface_id = allocator_.GenerateId();
factory_.Create(grandchild_surface_id, SurfaceSize());
scoped_ptr<RenderPass> grandchild_pass = RenderPass::Create();
@@ -668,7 +667,7 @@
TEST_F(SurfaceAggregatorValidSurfaceTest, AggregateMultiplePassWithTransform) {
SurfaceId child_surface_id = allocator_.GenerateId();
factory_.Create(child_surface_id, SurfaceSize());
- RenderPass::Id child_pass_id[] = {RenderPass::Id(1, 1), RenderPass::Id(1, 2)};
+ RenderPassId child_pass_id[] = {RenderPassId(1, 1), RenderPassId(1, 2)};
test::Quad child_quads[][1] = {
{test::Quad::SolidColorQuad(SK_ColorGREEN)},
{test::Quad::RenderPassQuad(child_pass_id[0])}};
@@ -852,7 +851,7 @@
SurfaceId surface_id) {
scoped_ptr<DelegatedFrameData> frame_data(new DelegatedFrameData);
scoped_ptr<RenderPass> pass = RenderPass::Create();
- pass->id = RenderPass::Id(1, 1);
+ pass->id = RenderPassId(1, 1);
SharedQuadState* sqs = pass->CreateAndAppendSharedQuadState();
for (size_t i = 0u; i < num_resource_ids; ++i) {
TransferableResource resource;
diff --git a/cc/surfaces/surfaces_pixeltest.cc b/cc/surfaces/surfaces_pixeltest.cc
index bd9f56c..a30f0172 100644
--- a/cc/surfaces/surfaces_pixeltest.cc
+++ b/cc/surfaces/surfaces_pixeltest.cc
@@ -63,7 +63,7 @@
// Draws a very simple frame with no surface references.
TEST_F(SurfacesPixelTest, DrawSimpleFrame) {
gfx::Rect rect(device_viewport_size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = RenderPass::Create();
pass->SetNew(id, rect, rect, gfx::Transform());
@@ -113,7 +113,7 @@
factory_.Create(root_surface_id, device_viewport_size_);
{
gfx::Rect rect(device_viewport_size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = RenderPass::Create();
pass->SetNew(id, rect, rect, gfx::Transform());
@@ -147,7 +147,7 @@
{
gfx::Rect rect(child_size);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = RenderPass::Create();
pass->SetNew(id, rect, rect, gfx::Transform());
@@ -208,7 +208,7 @@
{
gfx::Rect rect(device_viewport_size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = RenderPass::Create();
pass->SetNew(id, rect, rect, gfx::Transform());
@@ -245,7 +245,7 @@
{
gfx::Rect rect(child_size);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = RenderPass::Create();
pass->SetNew(id, rect, rect, gfx::Transform());
@@ -280,7 +280,7 @@
{
gfx::Rect rect(child_size);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = RenderPass::Create();
pass->SetNew(id, rect, rect, gfx::Transform());
diff --git a/cc/test/layer_test_common.cc b/cc/test/layer_test_common.cc
index 7a0de16..b7c415b 100644
--- a/cc/test/layer_test_common.cc
+++ b/cc/test/layer_test_common.cc
@@ -134,7 +134,7 @@
void LayerTestCommon::LayerImplTest::AppendQuadsForPassWithOcclusion(
LayerImpl* layer_impl,
- const RenderPass::Id& id,
+ const RenderPassId& id,
const gfx::Rect& occluded) {
AppendQuadsData data(id);
@@ -156,7 +156,7 @@
occlusion_tracker_.set_occluded_target_rect_for_contributing_surface(
occluded);
bool for_replica = false;
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
surface_impl->AppendQuads(
render_pass_.get(), occlusion_tracker_, &data, for_replica, id);
}
diff --git a/cc/test/layer_test_common.h b/cc/test/layer_test_common.h
index e74ea6d..c8e6ba5 100644
--- a/cc/test/layer_test_common.h
+++ b/cc/test/layer_test_common.h
@@ -109,7 +109,7 @@
void AppendQuadsWithOcclusion(LayerImpl* layer_impl,
const gfx::Rect& occluded);
void AppendQuadsForPassWithOcclusion(LayerImpl* layer_impl,
- const RenderPass::Id& id,
+ const RenderPassId& id,
const gfx::Rect& occluded);
void AppendSurfaceQuadsWithOcclusion(RenderSurfaceImpl* surface_impl,
const gfx::Rect& occluded);
diff --git a/cc/test/render_pass_test_common.cc b/cc/test/render_pass_test_common.cc
index a62f3ff..0feb025 100644
--- a/cc/test/render_pass_test_common.cc
+++ b/cc/test/render_pass_test_common.cc
@@ -25,7 +25,7 @@
void TestRenderPass::AppendOneOfEveryQuadType(
ResourceProvider* resource_provider,
- RenderPass::Id child_pass) {
+ RenderPassId child_pass) {
gfx::Rect rect(0, 0, 100, 100);
gfx::Rect opaque_rect(10, 10, 80, 80);
gfx::Rect visible_rect(0, 0, 100, 100);
diff --git a/cc/test/render_pass_test_common.h b/cc/test/render_pass_test_common.h
index c220dfd..0fd325f 100644
--- a/cc/test/render_pass_test_common.h
+++ b/cc/test/render_pass_test_common.h
@@ -22,7 +22,7 @@
static const unsigned int kSyncPointForMailboxTextureQuad = 30;
void AppendOneOfEveryQuadType(ResourceProvider* resource_provider,
- RenderPass::Id child_pass);
+ RenderPassId child_pass);
protected:
TestRenderPass() : RenderPass() {}
diff --git a/cc/test/render_pass_test_utils.cc b/cc/test/render_pass_test_utils.cc
index 95eb4ba..151b7b4 100644
--- a/cc/test/render_pass_test_utils.cc
+++ b/cc/test/render_pass_test_utils.cc
@@ -16,7 +16,7 @@
namespace cc {
TestRenderPass* AddRenderPass(RenderPassList* pass_list,
- RenderPass::Id id,
+ RenderPassId id,
const gfx::Rect& output_rect,
const gfx::Transform& root_transform) {
scoped_ptr<TestRenderPass> pass(TestRenderPass::Create());
diff --git a/cc/test/render_pass_test_utils.h b/cc/test/render_pass_test_utils.h
index db739b95..7bf026ca 100644
--- a/cc/test/render_pass_test_utils.h
+++ b/cc/test/render_pass_test_utils.h
@@ -23,11 +23,10 @@
// Adds a new render pass with the provided properties to the given
// render pass list.
-TestRenderPass* AddRenderPass(
- RenderPassList* pass_list,
- RenderPass::Id id,
- const gfx::Rect& output_rect,
- const gfx::Transform& root_transform);
+TestRenderPass* AddRenderPass(RenderPassList* pass_list,
+ RenderPassId id,
+ const gfx::Rect& output_rect,
+ const gfx::Transform& root_transform);
// Adds a solid quad to a given render pass.
SolidColorDrawQuad* AddQuad(TestRenderPass* pass,
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
index 9a4971ee..afba687 100644
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
@@ -799,8 +799,8 @@
LayerIteratorType::Begin(frame->render_surface_layer_list);
it != end;
++it) {
- RenderPass::Id target_render_pass_id =
- it.target_render_surface_layer()->render_surface()->RenderPassId();
+ RenderPassId target_render_pass_id =
+ it.target_render_surface_layer()->render_surface()->GetRenderPassId();
RenderPass* target_render_pass =
frame->render_passes_by_id[target_render_pass_id];
@@ -816,8 +816,8 @@
}
} else if (it.represents_contributing_render_surface() &&
it->render_surface()->contributes_to_drawn_surface()) {
- RenderPass::Id contributing_render_pass_id =
- it->render_surface()->RenderPassId();
+ RenderPassId contributing_render_pass_id =
+ it->render_surface()->GetRenderPassId();
RenderPass* contributing_render_pass =
frame->render_passes_by_id[contributing_render_pass_id];
AppendQuadsForRenderSurfaceLayer(target_render_pass,
@@ -836,7 +836,7 @@
frame->will_draw_layers.push_back(*it);
if (it->HasContributingDelegatedRenderPasses()) {
- RenderPass::Id contributing_render_pass_id =
+ RenderPassId contributing_render_pass_id =
it->FirstContributingRenderPassId();
while (frame->render_passes_by_id.find(contributing_render_pass_id) !=
frame->render_passes_by_id.end()) {
@@ -985,14 +985,14 @@
}
static inline RenderPass* FindRenderPassById(
- RenderPass::Id render_pass_id,
+ RenderPassId render_pass_id,
const LayerTreeHostImpl::FrameData& frame) {
RenderPassIdHashMap::const_iterator it =
frame.render_passes_by_id.find(render_pass_id);
return it != frame.render_passes_by_id.end() ? it->second : NULL;
}
-static void RemoveRenderPassesRecursive(RenderPass::Id remove_render_pass_id,
+static void RemoveRenderPassesRecursive(RenderPassId remove_render_pass_id,
LayerTreeHostImpl::FrameData* frame) {
RenderPass* remove_render_pass =
FindRenderPassById(remove_render_pass_id, *frame);
@@ -1022,7 +1022,7 @@
if (current_quad->material != DrawQuad::RENDER_PASS)
continue;
- RenderPass::Id next_remove_render_pass_id =
+ RenderPassId next_remove_render_pass_id =
RenderPassDrawQuad::MaterialCast(current_quad)->render_pass_id;
RemoveRenderPassesRecursive(next_remove_render_pass_id, frame);
}
diff --git a/cc/trees/layer_tree_host_unittest.cc b/cc/trees/layer_tree_host_unittest.cc
index 8dda035..3ac7aa1 100644
--- a/cc/trees/layer_tree_host_unittest.cc
+++ b/cc/trees/layer_tree_host_unittest.cc
@@ -1524,17 +1524,17 @@
virtual void DrawLayersOnThread(LayerTreeHostImpl* host_impl) OVERRIDE {
Renderer* renderer = host_impl->renderer();
- RenderPass::Id surface1_render_pass_id = host_impl->active_tree()
- ->root_layer()
- ->children()[0]
- ->render_surface()
- ->RenderPassId();
- RenderPass::Id surface2_render_pass_id = host_impl->active_tree()
- ->root_layer()
- ->children()[0]
- ->children()[0]
- ->render_surface()
- ->RenderPassId();
+ RenderPassId surface1_render_pass_id = host_impl->active_tree()
+ ->root_layer()
+ ->children()[0]
+ ->render_surface()
+ ->GetRenderPassId();
+ RenderPassId surface2_render_pass_id = host_impl->active_tree()
+ ->root_layer()
+ ->children()[0]
+ ->children()[0]
+ ->render_surface()
+ ->GetRenderPassId();
switch (host_impl->active_tree()->source_frame_number()) {
case 0:
diff --git a/cc/trees/layer_tree_host_unittest_context.cc b/cc/trees/layer_tree_host_unittest_context.cc
index d27e25f..638d27f 100644
--- a/cc/trees/layer_tree_host_unittest_context.cc
+++ b/cc/trees/layer_tree_host_unittest_context.cc
@@ -700,18 +700,18 @@
scoped_ptr<TestRenderPass> pass_for_quad = TestRenderPass::Create();
pass_for_quad->SetNew(
// AppendOneOfEveryQuadType() makes a RenderPass quad with this id.
- RenderPass::Id(2, 1),
+ RenderPassId(2, 1),
gfx::Rect(0, 0, 10, 10),
gfx::Rect(0, 0, 10, 10),
gfx::Transform());
scoped_ptr<TestRenderPass> pass = TestRenderPass::Create();
- pass->SetNew(RenderPass::Id(1, 1),
+ pass->SetNew(RenderPassId(1, 1),
gfx::Rect(0, 0, 10, 10),
gfx::Rect(0, 0, 10, 10),
gfx::Transform());
pass->AppendOneOfEveryQuadType(child_resource_provider_.get(),
- RenderPass::Id(2, 1));
+ RenderPassId(2, 1));
frame_data->render_pass_list.push_back(pass_for_quad.PassAs<RenderPass>());
frame_data->render_pass_list.push_back(pass.PassAs<RenderPass>());
diff --git a/cc/trees/layer_tree_host_unittest_copyrequest.cc b/cc/trees/layer_tree_host_unittest_copyrequest.cc
index 12fc631..89a267a 100644
--- a/cc/trees/layer_tree_host_unittest_copyrequest.cc
+++ b/cc/trees/layer_tree_host_unittest_copyrequest.cc
@@ -388,12 +388,12 @@
// |parent| owns a surface, but it was hidden and not part of the copy
// request so it should not allocate any resource.
EXPECT_FALSE(renderer->HasAllocatedResourcesForTesting(
- parent->render_surface()->RenderPassId()));
+ parent->render_surface()->GetRenderPassId()));
// |copy_layer| should have been rendered to a texture since it was needed
// for a copy request.
EXPECT_TRUE(renderer->HasAllocatedResourcesForTesting(
- copy_layer->render_surface()->RenderPassId()));
+ copy_layer->render_surface()->GetRenderPassId()));
did_draw_ = true;
}
diff --git a/cc/trees/layer_tree_host_unittest_delegated.cc b/cc/trees/layer_tree_host_unittest_delegated.cc
index 1607b71c..848d9d1 100644
--- a/cc/trees/layer_tree_host_unittest_delegated.cc
+++ b/cc/trees/layer_tree_host_unittest_delegated.cc
@@ -80,7 +80,7 @@
scoped_ptr<DelegatedFrameData> frame(new DelegatedFrameData);
scoped_ptr<RenderPass> root_pass(RenderPass::Create());
- root_pass->SetNew(RenderPass::Id(1, 1),
+ root_pass->SetNew(RenderPassId(1, 1),
root_output_rect,
root_damage_rect,
gfx::Transform());
@@ -94,7 +94,7 @@
scoped_ptr<DelegatedFrameData> frame(new DelegatedFrameData);
scoped_ptr<RenderPass> root_pass(RenderPass::Create());
- root_pass->SetNew(RenderPass::Id(1, 1),
+ root_pass->SetNew(RenderPassId(1, 1),
root_output_rect,
root_damage_rect,
gfx::Transform());
@@ -166,7 +166,7 @@
}
void AddRenderPass(DelegatedFrameData* frame,
- RenderPass::Id id,
+ RenderPassId id,
const gfx::Rect& output_rect,
const gfx::Rect& damage_rect,
const FilterOperations& filters,
diff --git a/cc/trees/layer_tree_host_unittest_no_message_loop.cc b/cc/trees/layer_tree_host_unittest_no_message_loop.cc
index cd8e8a1..1756132c 100644
--- a/cc/trees/layer_tree_host_unittest_no_message_loop.cc
+++ b/cc/trees/layer_tree_host_unittest_no_message_loop.cc
@@ -203,7 +203,7 @@
scoped_ptr<RenderPass> root_pass(RenderPass::Create());
root_pass->SetNew(
- RenderPass::Id(1, 1), frame_rect, frame_rect, gfx::Transform());
+ RenderPassId(1, 1), frame_rect, frame_rect, gfx::Transform());
frame->render_pass_list.push_back(root_pass.Pass());
TransferableResource resource;
diff --git a/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc b/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
index 506b02e6..0a8ad35 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
@@ -1154,7 +1154,7 @@
scoped_ptr<cc::RenderPass> pass = cc::RenderPass::Create();
pass->SetNew(
- cc::RenderPass::Id(1, 1), gfx::Rect(size), damage, gfx::Transform());
+ cc::RenderPassId(1, 1), gfx::Rect(size), damage, gfx::Transform());
frame->delegated_frame_data->render_pass_list.push_back(pass.Pass());
return frame.Pass();
}
diff --git a/content/common/cc_messages.cc b/content/common/cc_messages.cc
index 77ba68b..17a7913a 100644
--- a/content/common/cc_messages.cc
+++ b/content/common/cc_messages.cc
@@ -404,7 +404,7 @@
bool ParamTraits<cc::RenderPass>::Read(
const Message* m, PickleIterator* iter, param_type* p) {
- cc::RenderPass::Id id(-1, -1);
+ cc::RenderPassId id(-1, -1);
gfx::Rect output_rect;
gfx::Rect damage_rect;
gfx::Transform transform_to_root_target;
diff --git a/content/common/cc_messages.h b/content/common/cc_messages.h
index cc8aa8d..8cb3cc2 100644
--- a/content/common/cc_messages.h
+++ b/content/common/cc_messages.h
@@ -138,7 +138,7 @@
IPC_ENUM_TRAITS_MAX_VALUE(cc::YUVVideoDrawQuad::ColorSpace,
cc::YUVVideoDrawQuad::COLOR_SPACE_LAST)
-IPC_STRUCT_TRAITS_BEGIN(cc::RenderPass::Id)
+IPC_STRUCT_TRAITS_BEGIN(cc::RenderPassId)
IPC_STRUCT_TRAITS_MEMBER(layer_id)
IPC_STRUCT_TRAITS_MEMBER(index)
IPC_STRUCT_TRAITS_END()
diff --git a/content/common/cc_messages_unittest.cc b/content/common/cc_messages_unittest.cc
index 054e079ac..1da44b3 100644
--- a/content/common/cc_messages_unittest.cc
+++ b/content/common/cc_messages_unittest.cc
@@ -28,6 +28,7 @@
using cc::IOSurfaceDrawQuad;
using cc::PictureDrawQuad;
using cc::RenderPass;
+using cc::RenderPassId;
using cc::RenderPassDrawQuad;
using cc::ResourceProvider;
using cc::SharedQuadState;
@@ -258,7 +259,7 @@
SkXfermode::Mode arbitrary_blend_mode3 = SkXfermode::kOverlay_Mode;
IOSurfaceDrawQuad::Orientation arbitrary_orientation =
IOSurfaceDrawQuad::UNFLIPPED;
- RenderPass::Id arbitrary_id(10, 14);
+ RenderPassId arbitrary_id(10, 14);
ResourceProvider::ResourceId arbitrary_resourceid1 = 55;
ResourceProvider::ResourceId arbitrary_resourceid2 = 47;
ResourceProvider::ResourceId arbitrary_resourceid3 = 23;
@@ -523,7 +524,7 @@
TEST_F(CCMessagesTest, UnusedSharedQuadStates) {
scoped_ptr<RenderPass> pass_in = RenderPass::Create();
- pass_in->SetAll(RenderPass::Id(1, 1),
+ pass_in->SetAll(RenderPassId(1, 1),
gfx::Rect(100, 100),
gfx::Rect(),
gfx::Transform(),
@@ -668,7 +669,7 @@
scoped_ptr<RenderPass> renderpass_in = RenderPass::Create();
renderpass_in->SetNew(
- RenderPass::Id(1, 1), gfx::Rect(), gfx::Rect(), gfx::Transform());
+ RenderPassId(1, 1), gfx::Rect(), gfx::Rect(), gfx::Transform());
DelegatedFrameData frame_in;
frame_in.resource_list.push_back(arbitrary_resource1);
diff --git a/mojo/examples/surfaces_app/child_gl_impl.cc b/mojo/examples/surfaces_app/child_gl_impl.cc
index e669761..ec135fe 100644
--- a/mojo/examples/surfaces_app/child_gl_impl.cc
+++ b/mojo/examples/surfaces_app/child_gl_impl.cc
@@ -32,6 +32,7 @@
namespace examples {
using cc::RenderPass;
+using cc::RenderPassId;
using cc::DrawQuad;
using cc::TextureDrawQuad;
using cc::DelegatedFrameData;
@@ -142,7 +143,7 @@
resource.is_software = false;
gfx::Rect rect(size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = RenderPass::Create();
pass->SetNew(id, rect, rect, gfx::Transform());
diff --git a/mojo/examples/surfaces_app/child_impl.cc b/mojo/examples/surfaces_app/child_impl.cc
index 578c65c..afefe09 100644
--- a/mojo/examples/surfaces_app/child_impl.cc
+++ b/mojo/examples/surfaces_app/child_impl.cc
@@ -22,6 +22,7 @@
namespace examples {
using cc::RenderPass;
+using cc::RenderPassId;
using cc::DrawQuad;
using cc::SolidColorDrawQuad;
using cc::DelegatedFrameData;
@@ -63,7 +64,7 @@
surface_->CreateSurface(mojo::SurfaceId::From(id_),
mojo::Size::From(size_));
gfx::Rect rect(size_);
- RenderPass::Id id(1, 1);
+ RenderPassId id(1, 1);
scoped_ptr<RenderPass> pass = RenderPass::Create();
pass->SetNew(id, rect, rect, gfx::Transform());
diff --git a/mojo/examples/surfaces_app/embedder.cc b/mojo/examples/surfaces_app/embedder.cc
index 1896717..683d4b9 100644
--- a/mojo/examples/surfaces_app/embedder.cc
+++ b/mojo/examples/surfaces_app/embedder.cc
@@ -20,6 +20,7 @@
namespace examples {
using cc::RenderPass;
+using cc::RenderPassId;
using cc::SurfaceDrawQuad;
using cc::DrawQuad;
using cc::SolidColorDrawQuad;
@@ -38,7 +39,7 @@
const gfx::Size& size,
int offset) {
gfx::Rect rect(size);
- RenderPass::Id pass_id(1, 1);
+ RenderPassId pass_id(1, 1);
scoped_ptr<RenderPass> pass = RenderPass::Create();
pass->SetNew(pass_id, rect, rect, gfx::Transform());
diff --git a/mojo/services/public/cpp/surfaces/lib/surfaces_type_converters.cc b/mojo/services/public/cpp/surfaces/lib/surfaces_type_converters.cc
index 309d1a1..6b39d9c 100644
--- a/mojo/services/public/cpp/surfaces/lib/surfaces_type_converters.cc
+++ b/mojo/services/public/cpp/surfaces/lib/surfaces_type_converters.cc
@@ -259,7 +259,7 @@
// static
scoped_ptr<cc::RenderPass> ConvertTo(const PassPtr& input) {
scoped_ptr<cc::RenderPass> pass = cc::RenderPass::Create();
- pass->SetAll(cc::RenderPass::Id(1, input->id),
+ pass->SetAll(cc::RenderPassId(1, input->id),
input->output_rect.To<gfx::Rect>(),
input->damage_rect.To<gfx::Rect>(),
input->transform_to_root_target.To<gfx::Transform>(),
diff --git a/mojo/services/public/cpp/surfaces/tests/surface_unittest.cc b/mojo/services/public/cpp/surfaces/tests/surface_unittest.cc
index bc933c3..f269d4e 100644
--- a/mojo/services/public/cpp/surfaces/tests/surface_unittest.cc
+++ b/mojo/services/public/cpp/surfaces/tests/surface_unittest.cc
@@ -203,7 +203,7 @@
TEST(SurfaceLibTest, RenderPass) {
scoped_ptr<cc::RenderPass> pass = cc::RenderPass::Create();
- cc::RenderPass::Id pass_id(1, 6);
+ cc::RenderPassId pass_id(1, 6);
gfx::Rect output_rect(4, 9, 13, 71);
gfx::Rect damage_rect(9, 17, 41, 45);
gfx::Transform transform_to_root_target;
diff --git a/ui/compositor/layer_unittest.cc b/ui/compositor/layer_unittest.cc
index 9cb80c4..e44f0e4 100644
--- a/ui/compositor/layer_unittest.cc
+++ b/ui/compositor/layer_unittest.cc
@@ -1342,7 +1342,7 @@
scoped_ptr<cc::DelegatedFrameData> frame_data(new cc::DelegatedFrameData);
scoped_ptr<cc::RenderPass> render_pass(cc::RenderPass::Create());
render_pass->SetNew(
- cc::RenderPass::Id(1, 1), gfx::Rect(size), gfx::Rect(), gfx::Transform());
+ cc::RenderPassId(1, 1), gfx::Rect(size), gfx::Rect(), gfx::Transform());
frame_data->render_pass_list.push_back(render_pass.Pass());
return frame_data.Pass();
}