diff options
author | thildebr@chromium.org <thildebr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-19 06:49:28 +0000 |
---|---|---|
committer | thildebr@chromium.org <thildebr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-19 06:49:28 +0000 |
commit | a9d4d4f8ff5b837ff736c6019aae93386582e4d3 (patch) | |
tree | 3c2268be6b030bba8385dba19435ac002ed7ae92 /cc/quads | |
parent | 696bfd03c9ca0be794b3189cea1f6bd7ed16d5ba (diff) | |
download | chromium_src-a9d4d4f8ff5b837ff736c6019aae93386582e4d3.zip chromium_src-a9d4d4f8ff5b837ff736c6019aae93386582e4d3.tar.gz chromium_src-a9d4d4f8ff5b837ff736c6019aae93386582e4d3.tar.bz2 |
Rendering context information added to SharedQuadState
Context IDs given to DrawQuads to identify when a rendering context
changes, and whether or not a DrawQuad is in a 3D sorting context.
Review URL: https://codereview.chromium.org/332873005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@278288 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/quads')
-rw-r--r-- | cc/quads/draw_quad_unittest.cc | 8 | ||||
-rw-r--r-- | cc/quads/render_pass_unittest.cc | 24 | ||||
-rw-r--r-- | cc/quads/shared_quad_state.cc | 10 | ||||
-rw-r--r-- | cc/quads/shared_quad_state.h | 4 |
4 files changed, 33 insertions, 13 deletions
diff --git a/cc/quads/draw_quad_unittest.cc b/cc/quads/draw_quad_unittest.cc index 7124db2..f0f7719 100644 --- a/cc/quads/draw_quad_unittest.cc +++ b/cc/quads/draw_quad_unittest.cc @@ -38,6 +38,7 @@ TEST(DrawQuadTest, CopySharedQuadState) { bool is_clipped = true; float opacity = 0.25f; SkXfermode::Mode blend_mode = SkXfermode::kMultiply_Mode; + int sorting_context_id = 65536; scoped_ptr<SharedQuadState> state(new SharedQuadState); state->SetAll(quad_transform, @@ -46,7 +47,8 @@ TEST(DrawQuadTest, CopySharedQuadState) { clip_rect, is_clipped, opacity, - blend_mode); + blend_mode, + sorting_context_id); scoped_ptr<SharedQuadState> copy(new SharedQuadState); copy->CopyFrom(state.get()); @@ -65,6 +67,7 @@ scoped_ptr<SharedQuadState> CreateSharedQuadState() { gfx::Rect clip_rect(19, 21, 23, 25); bool is_clipped = false; float opacity = 1.f; + int sorting_context_id = 65536; SkXfermode::Mode blend_mode = SkXfermode::kSrcOver_Mode; scoped_ptr<SharedQuadState> state(new SharedQuadState); @@ -74,7 +77,8 @@ scoped_ptr<SharedQuadState> CreateSharedQuadState() { clip_rect, is_clipped, opacity, - blend_mode); + blend_mode, + sorting_context_id); return state.Pass(); } diff --git a/cc/quads/render_pass_unittest.cc b/cc/quads/render_pass_unittest.cc index 7f723a4..59af62d 100644 --- a/cc/quads/render_pass_unittest.cc +++ b/cc/quads/render_pass_unittest.cc @@ -86,7 +86,8 @@ TEST(RenderPassTest, CopyShouldBeIdenticalExceptIdAndQuads) { gfx::Rect(), false, 1, - SkXfermode::kSrcOver_Mode); + SkXfermode::kSrcOver_Mode, + 0); scoped_ptr<CheckerboardDrawQuad> checkerboard_quad = CheckerboardDrawQuad::Create(); @@ -136,7 +137,8 @@ TEST(RenderPassTest, CopyAllShouldBeIdentical) { gfx::Rect(), false, 1, - SkXfermode::kSrcOver_Mode); + SkXfermode::kSrcOver_Mode, + 0); scoped_ptr<CheckerboardDrawQuad> checkerboard_quad1 = CheckerboardDrawQuad::Create(); @@ -162,7 +164,8 @@ TEST(RenderPassTest, CopyAllShouldBeIdentical) { gfx::Rect(), false, 1, - SkXfermode::kSrcOver_Mode); + SkXfermode::kSrcOver_Mode, + 0); scoped_ptr<CheckerboardDrawQuad> checkerboard_quad3 = CheckerboardDrawQuad::Create(); @@ -203,7 +206,8 @@ TEST(RenderPassTest, CopyAllShouldBeIdentical) { gfx::Rect(), false, 1, - SkXfermode::kSrcOver_Mode); + SkXfermode::kSrcOver_Mode, + 0); scoped_ptr<CheckerboardDrawQuad> contrib_quad = CheckerboardDrawQuad::Create(); @@ -262,7 +266,8 @@ TEST(RenderPassTest, CopyAllWithCulledQuads) { gfx::Rect(), false, 1, - SkXfermode::kSrcOver_Mode); + SkXfermode::kSrcOver_Mode, + 0); scoped_ptr<CheckerboardDrawQuad> checkerboard_quad1 = CheckerboardDrawQuad::Create(); @@ -280,7 +285,8 @@ TEST(RenderPassTest, CopyAllWithCulledQuads) { gfx::Rect(), false, 1, - SkXfermode::kSrcOver_Mode); + SkXfermode::kSrcOver_Mode, + 0); // A second shared state with no quads. SharedQuadState* shared_state3 = pass->CreateAndAppendSharedQuadState(); @@ -290,7 +296,8 @@ TEST(RenderPassTest, CopyAllWithCulledQuads) { gfx::Rect(), false, 1, - SkXfermode::kSrcOver_Mode); + SkXfermode::kSrcOver_Mode, + 0); // A last shared state with a quad again. SharedQuadState* shared_state4 = pass->CreateAndAppendSharedQuadState(); @@ -300,7 +307,8 @@ TEST(RenderPassTest, CopyAllWithCulledQuads) { gfx::Rect(), false, 1, - SkXfermode::kSrcOver_Mode); + SkXfermode::kSrcOver_Mode, + 0); scoped_ptr<CheckerboardDrawQuad> checkerboard_quad2 = CheckerboardDrawQuad::Create(); diff --git a/cc/quads/shared_quad_state.cc b/cc/quads/shared_quad_state.cc index 444d330..57959e3 100644 --- a/cc/quads/shared_quad_state.cc +++ b/cc/quads/shared_quad_state.cc @@ -11,7 +11,11 @@ namespace cc { SharedQuadState::SharedQuadState() - : is_clipped(false), opacity(0.f), blend_mode(SkXfermode::kSrcOver_Mode) {} + : is_clipped(false), + opacity(0.f), + blend_mode(SkXfermode::kSrcOver_Mode), + sorting_context_id(0) { +} SharedQuadState::~SharedQuadState() { TRACE_EVENT_OBJECT_DELETED_WITH_ID( @@ -29,7 +33,8 @@ void SharedQuadState::SetAll(const gfx::Transform& content_to_target_transform, const gfx::Rect& clip_rect, bool is_clipped, float opacity, - SkXfermode::Mode blend_mode) { + SkXfermode::Mode blend_mode, + int sorting_context_id) { this->content_to_target_transform = content_to_target_transform; this->content_bounds = content_bounds; this->visible_content_rect = visible_content_rect; @@ -37,6 +42,7 @@ void SharedQuadState::SetAll(const gfx::Transform& content_to_target_transform, this->is_clipped = is_clipped; this->opacity = opacity; this->blend_mode = blend_mode; + this->sorting_context_id = sorting_context_id; } scoped_ptr<base::Value> SharedQuadState::AsValue() const { diff --git a/cc/quads/shared_quad_state.h b/cc/quads/shared_quad_state.h index d0e2afb..30a1e25 100644 --- a/cc/quads/shared_quad_state.h +++ b/cc/quads/shared_quad_state.h @@ -35,7 +35,8 @@ class CC_EXPORT SharedQuadState { const gfx::Rect& clip_rect, bool is_clipped, float opacity, - SkXfermode::Mode blend_mode); + SkXfermode::Mode blend_mode, + int sorting_context_id); scoped_ptr<base::Value> AsValue() const; // Transforms from quad's original content space to its target content space. @@ -49,6 +50,7 @@ class CC_EXPORT SharedQuadState { bool is_clipped; float opacity; SkXfermode::Mode blend_mode; + int sorting_context_id; }; } // namespace cc |