| Index: gpu/command_buffer/client/gles2_implementation.cc
|
| diff --git a/gpu/command_buffer/client/gles2_implementation.cc b/gpu/command_buffer/client/gles2_implementation.cc
|
| index 641a19ee7c222cd3a495284f008d3c37bf142d44..23853f0d269f9b856df7b28ebd2e3c55bac15df3 100644
|
| --- a/gpu/command_buffer/client/gles2_implementation.cc
|
| +++ b/gpu/command_buffer/client/gles2_implementation.cc
|
| @@ -3135,10 +3135,29 @@ void GLES2Implementation::TraceBeginCHROMIUM(const char* name) {
|
| GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTraceBeginCHROMIUM("
|
| << name << ")");
|
| -
|
| + if (current_trace_name_.get()) {
|
| + SetGLError(GL_INVALID_OPERATION, "glTraceBeginCHROMIUM",
|
| + "trace already running");
|
| + return;
|
| + }
|
| + TRACE_EVENT_COPY_ASYNC_BEGIN0("gpu", name, this);
|
| SetBucketAsCString(kResultBucketId, name);
|
| helper_->TraceBeginCHROMIUM(kResultBucketId);
|
| helper_->SetBucketSize(kResultBucketId, 0);
|
| + current_trace_name_.reset(new std::string(name));
|
| +}
|
| +
|
| +void GLES2Implementation::TraceEndCHROMIUM() {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| + GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTraceEndCHROMIUM(" << ")");
|
| + if (!current_trace_name_.get()) {
|
| + SetGLError(GL_INVALID_OPERATION, "glTraceEndCHROMIUM",
|
| + "missing begin trace");
|
| + return;
|
| + }
|
| + helper_->TraceEndCHROMIUM();
|
| + TRACE_EVENT_COPY_ASYNC_END0("gpu", current_trace_name_->c_str(), this);
|
| + current_trace_name_.reset(NULL);
|
| }
|
|
|
| void* GLES2Implementation::MapBufferCHROMIUM(GLuint target, GLenum access) {
|
|
|