Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(136)

Side by Side Diff: cc/ipc/cc_param_traits_unittest.cc

Issue 2508203004: Add hints for potential overlay promotion on android. (Closed)
Patch Set: replaced AVDA changes with TODO Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <stddef.h> 5 #include <stddef.h>
6 #include <string.h> 6 #include <string.h>
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 EXPECT_EQ(a.format, b.format); 201 EXPECT_EQ(a.format, b.format);
202 EXPECT_EQ(a.filter, b.filter); 202 EXPECT_EQ(a.filter, b.filter);
203 EXPECT_EQ(a.size.ToString(), b.size.ToString()); 203 EXPECT_EQ(a.size.ToString(), b.size.ToString());
204 for (size_t i = 0; i < arraysize(a.mailbox_holder.mailbox.name); ++i) { 204 for (size_t i = 0; i < arraysize(a.mailbox_holder.mailbox.name); ++i) {
205 EXPECT_EQ(a.mailbox_holder.mailbox.name[i], 205 EXPECT_EQ(a.mailbox_holder.mailbox.name[i],
206 b.mailbox_holder.mailbox.name[i]); 206 b.mailbox_holder.mailbox.name[i]);
207 } 207 }
208 EXPECT_EQ(a.mailbox_holder.texture_target, b.mailbox_holder.texture_target); 208 EXPECT_EQ(a.mailbox_holder.texture_target, b.mailbox_holder.texture_target);
209 EXPECT_EQ(a.mailbox_holder.sync_token, b.mailbox_holder.sync_token); 209 EXPECT_EQ(a.mailbox_holder.sync_token, b.mailbox_holder.sync_token);
210 EXPECT_EQ(a.is_overlay_candidate, b.is_overlay_candidate); 210 EXPECT_EQ(a.is_overlay_candidate, b.is_overlay_candidate);
211 #if defined(OS_ANDROID)
212 EXPECT_EQ(a.is_backed_by_surface_texture, b.is_backed_by_surface_texture);
213 EXPECT_EQ(a.wants_promotion_hint, b.wants_promotion_hint);
214 #endif
211 } 215 }
212 }; 216 };
213 217
214 TEST_F(CCParamTraitsTest, AllQuads) { 218 TEST_F(CCParamTraitsTest, AllQuads) {
215 IPC::Message msg(1, 2, IPC::Message::PRIORITY_NORMAL); 219 IPC::Message msg(1, 2, IPC::Message::PRIORITY_NORMAL);
216 220
217 Transform arbitrary_matrix1; 221 Transform arbitrary_matrix1;
218 arbitrary_matrix1.Scale(3, 3); 222 arbitrary_matrix1.Scale(3, 3);
219 arbitrary_matrix1.Translate(-5, 20); 223 arbitrary_matrix1.Translate(-5, 20);
220 arbitrary_matrix1.Rotate(15); 224 arbitrary_matrix1.Rotate(15);
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
564 568
565 TransferableResource arbitrary_resource1; 569 TransferableResource arbitrary_resource1;
566 arbitrary_resource1.id = 2178312; 570 arbitrary_resource1.id = 2178312;
567 arbitrary_resource1.format = cc::RGBA_8888; 571 arbitrary_resource1.format = cc::RGBA_8888;
568 arbitrary_resource1.filter = 53; 572 arbitrary_resource1.filter = 53;
569 arbitrary_resource1.size = gfx::Size(37189, 123123); 573 arbitrary_resource1.size = gfx::Size(37189, 123123);
570 arbitrary_resource1.mailbox_holder.mailbox.SetName(arbitrary_mailbox1); 574 arbitrary_resource1.mailbox_holder.mailbox.SetName(arbitrary_mailbox1);
571 arbitrary_resource1.mailbox_holder.texture_target = GL_TEXTURE_2D; 575 arbitrary_resource1.mailbox_holder.texture_target = GL_TEXTURE_2D;
572 arbitrary_resource1.mailbox_holder.sync_token = arbitrary_token1; 576 arbitrary_resource1.mailbox_holder.sync_token = arbitrary_token1;
573 arbitrary_resource1.is_overlay_candidate = true; 577 arbitrary_resource1.is_overlay_candidate = true;
578 #if defined(OS_ANDROID)
579 arbitrary_resource1.is_backed_by_surface_texture = true;
580 arbitrary_resource1.wants_promotion_hint = true;
581 #endif
574 582
575 TransferableResource arbitrary_resource2; 583 TransferableResource arbitrary_resource2;
576 arbitrary_resource2.id = 789132; 584 arbitrary_resource2.id = 789132;
577 arbitrary_resource2.format = cc::RGBA_4444; 585 arbitrary_resource2.format = cc::RGBA_4444;
578 arbitrary_resource2.filter = 47; 586 arbitrary_resource2.filter = 47;
579 arbitrary_resource2.size = gfx::Size(89123, 23789); 587 arbitrary_resource2.size = gfx::Size(89123, 23789);
580 arbitrary_resource2.mailbox_holder.mailbox.SetName(arbitrary_mailbox2); 588 arbitrary_resource2.mailbox_holder.mailbox.SetName(arbitrary_mailbox2);
581 arbitrary_resource2.mailbox_holder.texture_target = GL_TEXTURE_EXTERNAL_OES; 589 arbitrary_resource2.mailbox_holder.texture_target = GL_TEXTURE_EXTERNAL_OES;
582 arbitrary_resource2.mailbox_holder.sync_token = arbitrary_token2; 590 arbitrary_resource2.mailbox_holder.sync_token = arbitrary_token2;
583 arbitrary_resource2.is_overlay_candidate = false; 591 arbitrary_resource2.is_overlay_candidate = false;
592 #if defined(OS_ANDROID)
593 arbitrary_resource2.is_backed_by_surface_texture = false;
594 arbitrary_resource2.wants_promotion_hint = false;
595 #endif
584 596
585 std::unique_ptr<RenderPass> renderpass_in = RenderPass::Create(); 597 std::unique_ptr<RenderPass> renderpass_in = RenderPass::Create();
586 renderpass_in->SetNew(RenderPassId(1, 1), gfx::Rect(), gfx::Rect(), 598 renderpass_in->SetNew(RenderPassId(1, 1), gfx::Rect(), gfx::Rect(),
587 gfx::Transform()); 599 gfx::Transform());
588 600
589 CompositorFrame frame_in; 601 CompositorFrame frame_in;
590 frame_in.resource_list.push_back(arbitrary_resource1); 602 frame_in.resource_list.push_back(arbitrary_resource1);
591 frame_in.resource_list.push_back(arbitrary_resource2); 603 frame_in.resource_list.push_back(arbitrary_resource2);
592 frame_in.render_pass_list.push_back(std::move(renderpass_in)); 604 frame_in.render_pass_list.push_back(std::move(renderpass_in));
593 605
594 IPC::ParamTraits<CompositorFrame>::Write(&msg, frame_in); 606 IPC::ParamTraits<CompositorFrame>::Write(&msg, frame_in);
595 607
596 CompositorFrame frame_out; 608 CompositorFrame frame_out;
597 base::PickleIterator iter(msg); 609 base::PickleIterator iter(msg);
598 EXPECT_TRUE(IPC::ParamTraits<CompositorFrame>::Read(&msg, &iter, &frame_out)); 610 EXPECT_TRUE(IPC::ParamTraits<CompositorFrame>::Read(&msg, &iter, &frame_out));
599 611
600 ASSERT_EQ(2u, frame_out.resource_list.size()); 612 ASSERT_EQ(2u, frame_out.resource_list.size());
601 Compare(arbitrary_resource1, frame_out.resource_list[0]); 613 Compare(arbitrary_resource1, frame_out.resource_list[0]);
602 Compare(arbitrary_resource2, frame_out.resource_list[1]); 614 Compare(arbitrary_resource2, frame_out.resource_list[1]);
603 } 615 }
604 616
605 } // namespace 617 } // namespace
606 } // namespace content 618 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698