From f56279ca6fb81d883f77c6501c2f54dd95d4933d Mon Sep 17 00:00:00 2001 From: "piman@google.com" Date: Wed, 2 Feb 2011 18:12:31 +0000 Subject: Implement proxy for 3d-related interfaces BUG=none TEST=Pepper Flash Review URL: http://codereview.chromium.org/6400007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73472 0039d316-1c4b-4281-b951-d872f2087c98 --- gpu/ipc/DEPS | 4 ++++ gpu/ipc/gpu_command_buffer_traits.cc | 39 ++++++++++++++++++++++++++++++++++++ gpu/ipc/gpu_command_buffer_traits.h | 23 +++++++++++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 gpu/ipc/DEPS create mode 100644 gpu/ipc/gpu_command_buffer_traits.cc create mode 100644 gpu/ipc/gpu_command_buffer_traits.h (limited to 'gpu/ipc') 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 ::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(p.error)); +} + +bool ParamTraits ::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(temp); + return true; + } else { + return false; + } +} + +void ParamTraits ::Log(const param_type& p, + std::string* l) { + l->append(""); +} + +} // 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 { + 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_ -- cgit v1.1