OLD | NEW |
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 #ifndef GPU_IPC_GPU_PARAM_TRAITS_H_ | 5 #ifndef GPU_IPC_GPU_PARAM_TRAITS_H_ |
6 #define GPU_IPC_GPU_PARAM_TRAITS_H_ | 6 #define GPU_IPC_GPU_PARAM_TRAITS_H_ |
7 | 7 |
8 #include "gpu/command_buffer/common/command_buffer.h" | 8 #include "gpu/command_buffer/common/command_buffer.h" |
9 #include "gpu/gpu_export.h" | 9 #include "gpu/gpu_export.h" |
10 #include "gpu/ipc/gpu_command_buffer_traits_multi.h" | 10 #include "gpu/ipc/gpu_command_buffer_traits_multi.h" |
11 #include "ipc/ipc_message_utils.h" | 11 #include "ipc/ipc_message_utils.h" |
12 | 12 |
13 namespace gpu { | 13 namespace gpu { |
14 struct Mailbox; | 14 struct Mailbox; |
15 struct MailboxHolder; | 15 struct MailboxHolder; |
| 16 struct SyncToken; |
16 union ValueState; | 17 union ValueState; |
17 } | 18 } |
18 | 19 |
19 namespace IPC { | 20 namespace IPC { |
20 | 21 |
21 template <> | 22 template <> |
22 struct GPU_EXPORT ParamTraits<gpu::CommandBuffer::State> { | 23 struct GPU_EXPORT ParamTraits<gpu::CommandBuffer::State> { |
23 typedef gpu::CommandBuffer::State param_type; | 24 typedef gpu::CommandBuffer::State param_type; |
24 static void Write(Message* m, const param_type& p); | 25 static void Write(Message* m, const param_type& p); |
25 static bool Read(const Message* m, base::PickleIterator* iter, param_type* p); | 26 static bool Read(const Message* m, base::PickleIterator* iter, param_type* p); |
26 static void Log(const param_type& p, std::string* l); | 27 static void Log(const param_type& p, std::string* l); |
27 }; | 28 }; |
28 | 29 |
29 template<> | 30 template<> |
| 31 struct GPU_EXPORT ParamTraits<gpu::SyncToken> { |
| 32 typedef gpu::SyncToken param_type; |
| 33 static void Write(Message* m, const param_type& p); |
| 34 static bool Read(const Message* m, base::PickleIterator* iter, param_type* p); |
| 35 static void Log(const param_type& p, std::string* l); |
| 36 }; |
| 37 |
| 38 template<> |
30 struct GPU_EXPORT ParamTraits<gpu::Mailbox> { | 39 struct GPU_EXPORT ParamTraits<gpu::Mailbox> { |
31 typedef gpu::Mailbox param_type; | 40 typedef gpu::Mailbox param_type; |
32 static void Write(Message* m, const param_type& p); | 41 static void Write(Message* m, const param_type& p); |
33 static bool Read(const Message* m, base::PickleIterator* iter, param_type* p); | 42 static bool Read(const Message* m, base::PickleIterator* iter, param_type* p); |
34 static void Log(const param_type& p, std::string* l); | 43 static void Log(const param_type& p, std::string* l); |
35 }; | 44 }; |
36 | 45 |
37 template <> | 46 template <> |
38 struct GPU_EXPORT ParamTraits<gpu::MailboxHolder> { | 47 struct GPU_EXPORT ParamTraits<gpu::MailboxHolder> { |
39 typedef gpu::MailboxHolder param_type; | 48 typedef gpu::MailboxHolder param_type; |
40 static void Write(Message* m, const param_type& p); | 49 static void Write(Message* m, const param_type& p); |
41 static bool Read(const Message* m, base::PickleIterator* iter, param_type* p); | 50 static bool Read(const Message* m, base::PickleIterator* iter, param_type* p); |
42 static void Log(const param_type& p, std::string* l); | 51 static void Log(const param_type& p, std::string* l); |
43 }; | 52 }; |
44 | 53 |
45 template <> | 54 template <> |
46 struct GPU_EXPORT ParamTraits<gpu::ValueState> { | 55 struct GPU_EXPORT ParamTraits<gpu::ValueState> { |
47 typedef gpu::ValueState param_type; | 56 typedef gpu::ValueState param_type; |
48 static void Write(Message* m, const param_type& p); | 57 static void Write(Message* m, const param_type& p); |
49 static bool Read(const Message* m, base::PickleIterator* iter, param_type* p); | 58 static bool Read(const Message* m, base::PickleIterator* iter, param_type* p); |
50 static void Log(const param_type& p, std::string* l); | 59 static void Log(const param_type& p, std::string* l); |
51 }; | 60 }; |
52 | 61 |
53 } // namespace IPC | 62 } // namespace IPC |
54 | 63 |
55 #endif // GPU_IPC_GPU_PARAM_TRAITS_H_ | 64 #endif // GPU_IPC_GPU_PARAM_TRAITS_H_ |
OLD | NEW |