| 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 4c148e9081cd22c2079fbd19c1e6198b16f5739c..69d6e25c47910ec5a8141d432d73138609d95bac 100644
|
| --- a/gpu/command_buffer/client/gles2_implementation.cc
|
| +++ b/gpu/command_buffer/client/gles2_implementation.cc
|
| @@ -3477,32 +3477,38 @@ void GLES2Implementation::PopGroupMarkerEXT() {
|
| debug_marker_manager_.PopGroup();
|
| }
|
|
|
| -void GLES2Implementation::TraceBeginCHROMIUM(const char* name) {
|
| +void GLES2Implementation::TraceBeginCHROMIUM(
|
| + const char* category_name, const char* trace_name) {
|
| GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTraceBeginCHROMIUM("
|
| - << name << ")");
|
| - if (current_trace_name_.get()) {
|
| + << category_name << ", " << trace_name << ")");
|
| + if (current_trace_category_.get() || 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);
|
| + TRACE_EVENT_COPY_ASYNC_BEGIN0(category_name, trace_name, this);
|
| + SetBucketAsCString(kResultBucketId, category_name);
|
| + SetBucketAsCString(kResultBucketId + 1, category_name);
|
| + helper_->TraceBeginCHROMIUM(kResultBucketId, kResultBucketId + 1);
|
| helper_->SetBucketSize(kResultBucketId, 0);
|
| - current_trace_name_.reset(new std::string(name));
|
| + helper_->SetBucketSize(kResultBucketId + 1, 0);
|
| + current_trace_category_.reset(new std::string(category_name));
|
| + current_trace_name_.reset(new std::string(trace_name));
|
| }
|
|
|
| void GLES2Implementation::TraceEndCHROMIUM() {
|
| GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTraceEndCHROMIUM(" << ")");
|
| - if (!current_trace_name_.get()) {
|
| + if (!current_trace_category_.get() || !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);
|
| + TRACE_EVENT_COPY_ASYNC_END0(current_trace_category_->c_str(),
|
| + current_trace_name_->c_str(), this);
|
| + current_trace_category_.reset();
|
| current_trace_name_.reset();
|
| }
|
|
|
|
|