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) { |