Chromium Code Reviews| 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 6a77984f8e44c5ab8327143a749f31857d716cf3..bdf8a58140497de04f2b32755cb753e8765c2fd3 100644 |
| --- a/gpu/ipc/gpu_command_buffer_traits.cc |
| +++ b/gpu/ipc/gpu_command_buffer_traits.cc |
| @@ -57,10 +57,13 @@ void ParamTraits<gpu::CommandBuffer::State> ::Log(const param_type& p, |
| } |
| void ParamTraits<gpu::SyncToken>::Write(Message* m, const param_type& p) { |
| + DCHECK(!p.HasData() || p.verified_flush()); |
| + const bool verified_flush = p.verified_flush(); |
| const int namespace_id = static_cast<int>(p.namespace_id()); |
| const uint64_t command_buffer_id = p.command_buffer_id(); |
| const uint64_t release_count = p.release_count(); |
| + m->WriteBytes(&verified_flush, sizeof(verified_flush)); |
| m->WriteBytes(&namespace_id, sizeof(namespace_id)); |
| m->WriteBytes(&command_buffer_id, sizeof(command_buffer_id)); |
| m->WriteBytes(&release_count, sizeof(release_count)); |
| @@ -69,6 +72,10 @@ void ParamTraits<gpu::SyncToken>::Write(Message* m, const param_type& p) { |
| bool ParamTraits<gpu::SyncToken>::Read(const Message* m, |
| base::PickleIterator* iter, |
| param_type* p) { |
| + bool verified_flush = false; |
| + if (!iter->ReadBool(&verified_flush)) |
| + return false; |
| + |
| int namespace_id = -1; |
| if (!iter->ReadInt(&namespace_id)) |
| return false; |
| @@ -84,6 +91,10 @@ bool ParamTraits<gpu::SyncToken>::Read(const Message* m, |
| p->Set(static_cast<gpu::CommandBufferNamespace>(namespace_id), |
| command_buffer_id, |
| release_count); |
| + |
|
piman
2015/10/29 23:45:17
Can you add:
if (p->HasData() && !verified_flush)
David Yen
2015/10/30 00:01:30
Done.
|
| + if (verified_flush) |
| + p->SetVerifyFlush(); |
| + |
| return true; |
| } |
| @@ -117,7 +128,7 @@ void ParamTraits<gpu::Mailbox>::Log(const param_type& p, std::string* l) { |
| void ParamTraits<gpu::MailboxHolder>::Write(Message* m, const param_type& p) { |
| WriteParam(m, p.mailbox); |
| WriteParam(m, p.texture_target); |
| - WriteParam(m, p.sync_point); |
| + WriteParam(m, p.sync_token); |
| } |
| bool ParamTraits<gpu::MailboxHolder> ::Read(const Message* m, |
| @@ -125,14 +136,15 @@ bool ParamTraits<gpu::MailboxHolder> ::Read(const Message* m, |
| param_type* p) { |
| if (!ReadParam(m, iter, &p->mailbox) || |
| !ReadParam(m, iter, &p->texture_target) || |
| - !ReadParam(m, iter, &p->sync_point)) |
| + !ReadParam(m, iter, &p->sync_token)) |
| return false; |
| return true; |
| } |
| void ParamTraits<gpu::MailboxHolder>::Log(const param_type& p, std::string* l) { |
| ParamTraits<gpu::Mailbox>::Log(p.mailbox, l); |
| - *l += base::StringPrintf(":%04x@%d", p.texture_target, p.sync_point); |
| + *l += base::StringPrintf(":%04x@", p.texture_target); |
| + ParamTraits<gpu::SyncToken>::Log(p.sync_token, l); |
| } |
| void ParamTraits<gpu::ValueState>::Write(Message* m, const param_type& p) { |