diff options
Diffstat (limited to 'gpu/ipc')
-rw-r--r-- | gpu/ipc/DEPS | 4 | ||||
-rw-r--r-- | gpu/ipc/gpu_command_buffer_traits.cc | 39 | ||||
-rw-r--r-- | gpu/ipc/gpu_command_buffer_traits.h | 23 |
3 files changed, 66 insertions, 0 deletions
diff --git a/gpu/ipc/DEPS b/gpu/ipc/DEPS new file mode 100644 index 0000000..9634ba4 --- /dev/null +++ b/gpu/ipc/DEPS @@ -0,0 +1,4 @@ +include_rules = [ + "+base", + "+ipc", +] diff --git a/gpu/ipc/gpu_command_buffer_traits.cc b/gpu/ipc/gpu_command_buffer_traits.cc new file mode 100644 index 0000000..eecf19f --- /dev/null +++ b/gpu/ipc/gpu_command_buffer_traits.cc @@ -0,0 +1,39 @@ +// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "gpu/ipc/gpu_command_buffer_traits.h" + +namespace IPC { + +void ParamTraits<gpu::CommandBuffer::State> ::Write(Message* m, + const param_type& p) { + WriteParam(m, p.num_entries); + WriteParam(m, p.get_offset); + WriteParam(m, p.put_offset); + WriteParam(m, p.token); + WriteParam(m, static_cast<int32>(p.error)); +} + +bool ParamTraits<gpu::CommandBuffer::State> ::Read(const Message* m, + void** iter, + param_type* p) { + int32 temp; + if (ReadParam(m, iter, &p->num_entries) && + ReadParam(m, iter, &p->get_offset) && + ReadParam(m, iter, &p->put_offset) && + ReadParam(m, iter, &p->token) && + ReadParam(m, iter, &temp)) { + p->error = static_cast<gpu::error::Error>(temp); + return true; + } else { + return false; + } +} + +void ParamTraits<gpu::CommandBuffer::State> ::Log(const param_type& p, + std::string* l) { + l->append("<CommandBuffer::State>"); +} + +} // namespace IPC diff --git a/gpu/ipc/gpu_command_buffer_traits.h b/gpu/ipc/gpu_command_buffer_traits.h new file mode 100644 index 0000000..2237c1e9 --- /dev/null +++ b/gpu/ipc/gpu_command_buffer_traits.h @@ -0,0 +1,23 @@ +// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef GPU_IPC_GPU_PARAM_TRAITS_H_ +#define GPU_IPC_GPU_PARAM_TRAITS_H_ + +#include "ipc/ipc_message_utils.h" +#include "gpu/command_buffer/common/command_buffer.h" + +namespace IPC { + +template <> +struct ParamTraits<gpu::CommandBuffer::State> { + typedef gpu::CommandBuffer::State param_type; + static void Write(Message* m, const param_type& p); + static bool Read(const Message* m, void** iter, param_type* p); + static void Log(const param_type& p, std::string* l); +}; + +} // namespace IPC + +#endif // GPU_IPC_GPU_PARAM_TRAITS_H_ |