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

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

Issue 2508203004: Add hints for potential overlay promotion on android. (Closed)
Patch Set: rebased 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
« no previous file with comments | « cc/ipc/cc_param_traits_macros.h ('k') | cc/ipc/transferable_resource.mojom » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 EXPECT_EQ(a.format, b.format); 200 EXPECT_EQ(a.format, b.format);
201 EXPECT_EQ(a.filter, b.filter); 201 EXPECT_EQ(a.filter, b.filter);
202 EXPECT_EQ(a.size.ToString(), b.size.ToString()); 202 EXPECT_EQ(a.size.ToString(), b.size.ToString());
203 for (size_t i = 0; i < arraysize(a.mailbox_holder.mailbox.name); ++i) { 203 for (size_t i = 0; i < arraysize(a.mailbox_holder.mailbox.name); ++i) {
204 EXPECT_EQ(a.mailbox_holder.mailbox.name[i], 204 EXPECT_EQ(a.mailbox_holder.mailbox.name[i],
205 b.mailbox_holder.mailbox.name[i]); 205 b.mailbox_holder.mailbox.name[i]);
206 } 206 }
207 EXPECT_EQ(a.mailbox_holder.texture_target, b.mailbox_holder.texture_target); 207 EXPECT_EQ(a.mailbox_holder.texture_target, b.mailbox_holder.texture_target);
208 EXPECT_EQ(a.mailbox_holder.sync_token, b.mailbox_holder.sync_token); 208 EXPECT_EQ(a.mailbox_holder.sync_token, b.mailbox_holder.sync_token);
209 EXPECT_EQ(a.is_overlay_candidate, b.is_overlay_candidate); 209 EXPECT_EQ(a.is_overlay_candidate, b.is_overlay_candidate);
210 #if defined(OS_ANDROID)
211 EXPECT_EQ(a.is_backed_by_surface_texture, b.is_backed_by_surface_texture);
212 EXPECT_EQ(a.wants_promotion_hint, b.wants_promotion_hint);
213 #endif
210 } 214 }
211 }; 215 };
212 216
213 TEST_F(CCParamTraitsTest, AllQuads) { 217 TEST_F(CCParamTraitsTest, AllQuads) {
214 IPC::Message msg(1, 2, IPC::Message::PRIORITY_NORMAL); 218 IPC::Message msg(1, 2, IPC::Message::PRIORITY_NORMAL);
215 219
216 Transform arbitrary_matrix1; 220 Transform arbitrary_matrix1;
217 arbitrary_matrix1.Scale(3, 3); 221 arbitrary_matrix1.Scale(3, 3);
218 arbitrary_matrix1.Translate(-5, 20); 222 arbitrary_matrix1.Translate(-5, 20);
219 arbitrary_matrix1.Rotate(15); 223 arbitrary_matrix1.Rotate(15);
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
562 566
563 TransferableResource arbitrary_resource1; 567 TransferableResource arbitrary_resource1;
564 arbitrary_resource1.id = 2178312; 568 arbitrary_resource1.id = 2178312;
565 arbitrary_resource1.format = cc::RGBA_8888; 569 arbitrary_resource1.format = cc::RGBA_8888;
566 arbitrary_resource1.filter = 53; 570 arbitrary_resource1.filter = 53;
567 arbitrary_resource1.size = gfx::Size(37189, 123123); 571 arbitrary_resource1.size = gfx::Size(37189, 123123);
568 arbitrary_resource1.mailbox_holder.mailbox.SetName(arbitrary_mailbox1); 572 arbitrary_resource1.mailbox_holder.mailbox.SetName(arbitrary_mailbox1);
569 arbitrary_resource1.mailbox_holder.texture_target = GL_TEXTURE_2D; 573 arbitrary_resource1.mailbox_holder.texture_target = GL_TEXTURE_2D;
570 arbitrary_resource1.mailbox_holder.sync_token = arbitrary_token1; 574 arbitrary_resource1.mailbox_holder.sync_token = arbitrary_token1;
571 arbitrary_resource1.is_overlay_candidate = true; 575 arbitrary_resource1.is_overlay_candidate = true;
576 #if defined(OS_ANDROID)
577 arbitrary_resource1.is_backed_by_surface_texture = true;
578 arbitrary_resource1.wants_promotion_hint = true;
579 #endif
572 580
573 TransferableResource arbitrary_resource2; 581 TransferableResource arbitrary_resource2;
574 arbitrary_resource2.id = 789132; 582 arbitrary_resource2.id = 789132;
575 arbitrary_resource2.format = cc::RGBA_4444; 583 arbitrary_resource2.format = cc::RGBA_4444;
576 arbitrary_resource2.filter = 47; 584 arbitrary_resource2.filter = 47;
577 arbitrary_resource2.size = gfx::Size(89123, 23789); 585 arbitrary_resource2.size = gfx::Size(89123, 23789);
578 arbitrary_resource2.mailbox_holder.mailbox.SetName(arbitrary_mailbox2); 586 arbitrary_resource2.mailbox_holder.mailbox.SetName(arbitrary_mailbox2);
579 arbitrary_resource2.mailbox_holder.texture_target = GL_TEXTURE_EXTERNAL_OES; 587 arbitrary_resource2.mailbox_holder.texture_target = GL_TEXTURE_EXTERNAL_OES;
580 arbitrary_resource2.mailbox_holder.sync_token = arbitrary_token2; 588 arbitrary_resource2.mailbox_holder.sync_token = arbitrary_token2;
581 arbitrary_resource2.is_overlay_candidate = false; 589 arbitrary_resource2.is_overlay_candidate = false;
590 #if defined(OS_ANDROID)
591 arbitrary_resource2.is_backed_by_surface_texture = false;
592 arbitrary_resource2.wants_promotion_hint = false;
593 #endif
582 594
583 std::unique_ptr<RenderPass> renderpass_in = RenderPass::Create(); 595 std::unique_ptr<RenderPass> renderpass_in = RenderPass::Create();
584 renderpass_in->SetNew(1, gfx::Rect(), gfx::Rect(), gfx::Transform()); 596 renderpass_in->SetNew(1, gfx::Rect(), gfx::Rect(), gfx::Transform());
585 597
586 CompositorFrame frame_in; 598 CompositorFrame frame_in;
587 frame_in.resource_list.push_back(arbitrary_resource1); 599 frame_in.resource_list.push_back(arbitrary_resource1);
588 frame_in.resource_list.push_back(arbitrary_resource2); 600 frame_in.resource_list.push_back(arbitrary_resource2);
589 frame_in.render_pass_list.push_back(std::move(renderpass_in)); 601 frame_in.render_pass_list.push_back(std::move(renderpass_in));
590 602
591 IPC::ParamTraits<CompositorFrame>::Write(&msg, frame_in); 603 IPC::ParamTraits<CompositorFrame>::Write(&msg, frame_in);
592 604
593 CompositorFrame frame_out; 605 CompositorFrame frame_out;
594 base::PickleIterator iter(msg); 606 base::PickleIterator iter(msg);
595 EXPECT_TRUE(IPC::ParamTraits<CompositorFrame>::Read(&msg, &iter, &frame_out)); 607 EXPECT_TRUE(IPC::ParamTraits<CompositorFrame>::Read(&msg, &iter, &frame_out));
596 608
597 ASSERT_EQ(2u, frame_out.resource_list.size()); 609 ASSERT_EQ(2u, frame_out.resource_list.size());
598 Compare(arbitrary_resource1, frame_out.resource_list[0]); 610 Compare(arbitrary_resource1, frame_out.resource_list[0]);
599 Compare(arbitrary_resource2, frame_out.resource_list[1]); 611 Compare(arbitrary_resource2, frame_out.resource_list[1]);
600 } 612 }
601 613
602 } // namespace 614 } // namespace
603 } // namespace content 615 } // namespace content
OLDNEW
« no previous file with comments | « cc/ipc/cc_param_traits_macros.h ('k') | cc/ipc/transferable_resource.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698