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 union ValueState; |
16 } | 17 } |
17 | 18 |
18 namespace IPC { | 19 namespace IPC { |
19 | 20 |
20 template <> | 21 template <> |
21 struct GPU_EXPORT ParamTraits<gpu::CommandBuffer::State> { | 22 struct GPU_EXPORT ParamTraits<gpu::CommandBuffer::State> { |
22 typedef gpu::CommandBuffer::State param_type; | 23 typedef gpu::CommandBuffer::State param_type; |
23 static void Write(Message* m, const param_type& p); | 24 static void Write(Message* m, const param_type& p); |
24 static bool Read(const Message* m, PickleIterator* iter, param_type* p); | 25 static bool Read(const Message* m, PickleIterator* iter, param_type* p); |
25 static void Log(const param_type& p, std::string* l); | 26 static void Log(const param_type& p, std::string* l); |
26 }; | 27 }; |
27 | 28 |
28 template<> | 29 template<> |
29 struct GPU_EXPORT ParamTraits<gpu::Mailbox> { | 30 struct GPU_EXPORT ParamTraits<gpu::Mailbox> { |
30 typedef gpu::Mailbox param_type; | 31 typedef gpu::Mailbox param_type; |
31 static void Write(Message* m, const param_type& p); | 32 static void Write(Message* m, const param_type& p); |
32 static bool Read(const Message* m, PickleIterator* iter, param_type* p); | 33 static bool Read(const Message* m, PickleIterator* iter, param_type* p); |
33 static void Log(const param_type& p, std::string* l); | 34 static void Log(const param_type& p, std::string* l); |
34 }; | 35 }; |
35 | 36 |
36 template <> | 37 template <> |
37 struct GPU_EXPORT ParamTraits<gpu::MailboxHolder> { | 38 struct GPU_EXPORT ParamTraits<gpu::MailboxHolder> { |
38 typedef gpu::MailboxHolder param_type; | 39 typedef gpu::MailboxHolder param_type; |
39 static void Write(Message* m, const param_type& p); | 40 static void Write(Message* m, const param_type& p); |
40 static bool Read(const Message* m, PickleIterator* iter, param_type* p); | 41 static bool Read(const Message* m, PickleIterator* iter, param_type* p); |
41 static void Log(const param_type& p, std::string* l); | 42 static void Log(const param_type& p, std::string* l); |
42 }; | 43 }; |
43 | 44 |
| 45 template <> |
| 46 struct GPU_EXPORT ParamTraits<gpu::ValueState> { |
| 47 typedef gpu::ValueState param_type; |
| 48 static void Write(Message* m, const param_type& p); |
| 49 static bool Read(const Message* m, PickleIterator* iter, param_type* p); |
| 50 static void Log(const param_type& p, std::string* l); |
| 51 }; |
| 52 |
44 } // namespace IPC | 53 } // namespace IPC |
45 | 54 |
46 #endif // GPU_IPC_GPU_PARAM_TRAITS_H_ | 55 #endif // GPU_IPC_GPU_PARAM_TRAITS_H_ |
OLD | NEW |