OLD | NEW |
| (Empty) |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "cc/output/managed_memory_policy.h" | |
6 | |
7 #include <stddef.h> | |
8 | |
9 #include "cc/proto/managed_memory_policy.pb.h" | |
10 #include "cc/proto/memory_allocation.pb.h" | |
11 #include "gpu/command_buffer/common/gpu_memory_allocation.h" | |
12 #include "testing/gtest/include/gtest/gtest.h" | |
13 | |
14 namespace cc { | |
15 namespace { | |
16 | |
17 void VerifySerializeAndDeserialize( | |
18 size_t bytes_limit_when_visible, | |
19 gpu::MemoryAllocation::PriorityCutoff priority_cutoff_when_visible, | |
20 size_t num_resources_limit) { | |
21 ManagedMemoryPolicy policy1(bytes_limit_when_visible, | |
22 gpu::MemoryAllocation::CUTOFF_ALLOW_REQUIRED_ONLY, | |
23 num_resources_limit); | |
24 proto::ManagedMemoryPolicy proto; | |
25 policy1.ToProtobuf(&proto); | |
26 ManagedMemoryPolicy policy2(1); | |
27 policy2.FromProtobuf(proto); | |
28 EXPECT_EQ(policy1, policy2); | |
29 } | |
30 | |
31 TEST(ManagedMemoryPolicyTest, SerializeDeserialize) { | |
32 VerifySerializeAndDeserialize( | |
33 42, gpu::MemoryAllocation::CUTOFF_ALLOW_REQUIRED_ONLY, 24); | |
34 VerifySerializeAndDeserialize(0, gpu::MemoryAllocation::CUTOFF_ALLOW_NOTHING, | |
35 1); | |
36 VerifySerializeAndDeserialize( | |
37 1, gpu::MemoryAllocation::CUTOFF_ALLOW_NICE_TO_HAVE, 0); | |
38 VerifySerializeAndDeserialize( | |
39 1024, gpu::MemoryAllocation::CUTOFF_ALLOW_EVERYTHING, 4096); | |
40 } | |
41 | |
42 } // namespace | |
43 } // namespace cc | |
OLD | NEW |