Index: gpu/ipc/gpu_command_buffer_traits.cc |
diff --git a/gpu/ipc/gpu_command_buffer_traits.cc b/gpu/ipc/gpu_command_buffer_traits.cc |
index 1b30034063d75bf6a5bf00382977383adaac7554..ade1e1dba0849af8760383ac6d8255bdbb5cb626 100644 |
--- a/gpu/ipc/gpu_command_buffer_traits.cc |
+++ b/gpu/ipc/gpu_command_buffer_traits.cc |
@@ -5,6 +5,7 @@ |
#include "gpu/ipc/gpu_command_buffer_traits.h" |
#include "gpu/command_buffer/common/mailbox_holder.h" |
+#include "gpu/command_buffer/common/value_state.h" |
// Generate param traits write methods. |
#include "ipc/param_traits_write_macros.h" |
@@ -95,4 +96,31 @@ void ParamTraits<gpu::MailboxHolder>::Log(const param_type& p, std::string* l) { |
*l += base::StringPrintf(":%04x@%d", p.texture_target, p.sync_point); |
} |
+void ParamTraits<gpu::ValueState>::Write(Message* m, const param_type& p) { |
+ m->WriteData(reinterpret_cast<const char*>(&p), |
+ sizeof(gpu::ValueState)); |
+} |
+ |
+bool ParamTraits<gpu::ValueState>::Read(const Message* m, |
+ PickleIterator* iter, |
+ param_type* p) { |
+ int length; |
+ const char* data = NULL; |
+ if (!m->ReadData(iter, &data, &length) || length != sizeof(gpu::ValueState)) |
+ return false; |
+ DCHECK(data); |
+ memcpy(p, data, sizeof(gpu::ValueState)); |
+ return true; |
+} |
+ |
+void ParamTraits<gpu::ValueState>::Log(const param_type& p, std::string* l) { |
+ l->append("<ValueState ("); |
+ for (size_t i = 0; i < sizeof(p.int_value); ++i) |
+ *l += base::StringPrintf("%i ", p.int_value[i]); |
+ l->append(" int values "); |
+ for (size_t i = 0; i < sizeof(p.float_value); ++i) |
+ *l += base::StringPrintf("%f ", p.float_value[i]); |
+ l->append(" float values)>"); |
+} |
+ |
} // namespace IPC |