From 02b4fa89a8356d429d19526f072bd0fab8df96a9 Mon Sep 17 00:00:00 2001 From: vmpstr Date: Fri, 5 Jun 2015 16:09:12 -0700 Subject: Revert of cc: Fix size_t to int truncations in layers/ output/ playback/ quads/ (patchset #12 id:260001 of https://codereview.chromium.org/1158433010/) Reason for revert: Broke windows build. http://build.chromium.org/p/chromium.win/builders/Win%20x64%20GN%20%28dbg%29/builds/2919 Original issue's description: > cc: Fix size_t to int truncations in layers/ output/ playback/ quads/ > > This patch fixes size_t to int truncations in layers/, output/, > playback/, and quads/ directories in cc/. > > R=danakj > BUG=167187 > CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel > > Committed: https://crrev.com/0d5963315aa03e6ebb20351f13d3d517ca14d816 > Cr-Commit-Position: refs/heads/master@{#333153} TBR=danakj@chromium.org,mkwst@chromium.org,jschuh@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=167187 Review URL: https://codereview.chromium.org/1155553006 Cr-Commit-Position: refs/heads/master@{#333167} --- cc/quads/render_pass.cc | 15 +++++++++------ cc/quads/render_pass.h | 2 +- cc/quads/render_pass_draw_quad.cc | 5 ++++- cc/quads/render_pass_id.cc | 3 +-- cc/quads/render_pass_id.h | 5 ++--- 5 files changed, 17 insertions(+), 13 deletions(-) (limited to 'cc/quads') diff --git a/cc/quads/render_pass.cc b/cc/quads/render_pass.cc index 5c4d98a..567145a 100644 --- a/cc/quads/render_pass.cc +++ b/cc/quads/render_pass.cc @@ -6,7 +6,6 @@ #include -#include "base/numerics/safe_conversions.h" #include "base/trace_event/trace_event_argument.h" #include "base/values.h" #include "cc/base/math_util.h" @@ -53,7 +52,8 @@ scoped_ptr RenderPass::Create(size_t shared_quad_state_list_size, } RenderPass::RenderPass() - : has_transparent_background(true), + : id(RenderPassId(-1, -1)), + has_transparent_background(true), quad_list(kDefaultNumQuadsToReserve), shared_quad_state_list(sizeof(SharedQuadState), kDefaultNumSharedQuadStatesToReserve) { @@ -62,14 +62,16 @@ RenderPass::RenderPass() // Each layer usually produces one shared quad state, so the number of layers // is a good hint for what to reserve here. RenderPass::RenderPass(size_t num_layers) - : has_transparent_background(true), + : id(RenderPassId(-1, -1)), + has_transparent_background(true), quad_list(kDefaultNumQuadsToReserve), shared_quad_state_list(sizeof(SharedQuadState), num_layers) { } RenderPass::RenderPass(size_t shared_quad_state_list_size, size_t quad_list_size) - : has_transparent_background(true), + : id(RenderPassId(-1, -1)), + has_transparent_background(true), quad_list(quad_list_size), shared_quad_state_list(sizeof(SharedQuadState), shared_quad_state_list_size) { @@ -146,6 +148,7 @@ void RenderPass::SetNew(RenderPassId id, const gfx::Rect& damage_rect, const gfx::Transform& transform_to_root_target) { DCHECK_GT(id.layer_id, 0); + DCHECK_GE(id.index, 0); DCHECK(damage_rect.IsEmpty() || output_rect.Contains(damage_rect)) << "damage_rect: " << damage_rect.ToString() << " output_rect: " << output_rect.ToString(); @@ -165,6 +168,7 @@ void RenderPass::SetAll(RenderPassId id, const gfx::Transform& transform_to_root_target, bool has_transparent_background) { DCHECK_GT(id.layer_id, 0); + DCHECK_GE(id.index, 0); this->id = id; this->output_rect = output_rect; @@ -181,8 +185,7 @@ void RenderPass::AsValueInto(base::trace_event::TracedValue* value) const { MathUtil::AddToTracedValue("damage_rect", damage_rect, value); value->SetBoolean("has_transparent_background", has_transparent_background); - value->SetInteger("copy_requests", - base::saturated_cast(copy_requests.size())); + value->SetInteger("copy_requests", copy_requests.size()); value->BeginArray("shared_quad_state_list"); for (const auto& shared_quad_state : shared_quad_state_list) { diff --git a/cc/quads/render_pass.h b/cc/quads/render_pass.h index 8c31d82..0f57fae 100644 --- a/cc/quads/render_pass.h +++ b/cc/quads/render_pass.h @@ -136,7 +136,7 @@ namespace BASE_HASH_NAMESPACE { template <> struct hash { size_t operator()(cc::RenderPassId key) const { - return base::HashPair(key.layer_id, static_cast(key.index)); + return base::HashPair(key.layer_id, key.index); } }; } // namespace BASE_HASH_NAMESPACE diff --git a/cc/quads/render_pass_draw_quad.cc b/cc/quads/render_pass_draw_quad.cc index 1b03ec8..fc2c333 100644 --- a/cc/quads/render_pass_draw_quad.cc +++ b/cc/quads/render_pass_draw_quad.cc @@ -12,7 +12,8 @@ namespace cc { -RenderPassDrawQuad::RenderPassDrawQuad() { +RenderPassDrawQuad::RenderPassDrawQuad() + : render_pass_id(RenderPassId(-1, -1)) { } RenderPassDrawQuad::~RenderPassDrawQuad() { @@ -29,6 +30,7 @@ void RenderPassDrawQuad::SetNew(const SharedQuadState* shared_quad_state, const gfx::Vector2dF& filters_scale, const FilterOperations& background_filters) { DCHECK_GT(render_pass_id.layer_id, 0); + DCHECK_GE(render_pass_id.index, 0); gfx::Rect opaque_rect; bool needs_blending = false; @@ -59,6 +61,7 @@ void RenderPassDrawQuad::SetAll(const SharedQuadState* shared_quad_state, const gfx::Vector2dF& filters_scale, const FilterOperations& background_filters) { DCHECK_GT(render_pass_id.layer_id, 0); + DCHECK_GE(render_pass_id.index, 0); DrawQuad::SetAll(shared_quad_state, DrawQuad::RENDER_PASS, rect, opaque_rect, visible_rect, needs_blending); diff --git a/cc/quads/render_pass_id.cc b/cc/quads/render_pass_id.cc index 5fea6dc..a84582c 100644 --- a/cc/quads/render_pass_id.cc +++ b/cc/quads/render_pass_id.cc @@ -9,8 +9,7 @@ namespace cc { void* RenderPassId::AsTracingId() const { static_assert(sizeof(size_t) <= sizeof(void*), // NOLINT "size of size_t should not be greater than that of a pointer"); - return reinterpret_cast( - base::HashPair(layer_id, static_cast(index))); + return reinterpret_cast(base::HashPair(layer_id, index)); } } // namespace cc diff --git a/cc/quads/render_pass_id.h b/cc/quads/render_pass_id.h index ebf6387..0554130 100644 --- a/cc/quads/render_pass_id.h +++ b/cc/quads/render_pass_id.h @@ -14,10 +14,9 @@ namespace cc { class CC_EXPORT RenderPassId { public: int layer_id; - size_t index; + int index; - RenderPassId() : layer_id(-1), index(0) {} - RenderPassId(int layer_id, size_t index) : layer_id(layer_id), index(index) {} + RenderPassId(int layer_id, int index) : layer_id(layer_id), index(index) {} void* AsTracingId() const; bool operator==(const RenderPassId& other) const { -- cgit v1.1