summaryrefslogtreecommitdiffstats
path: root/gpu
diff options
context:
space:
mode:
authorapatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-26 04:34:44 +0000
committerapatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-26 04:34:44 +0000
commita5d3dad7b804f843c74bd0bb661b1311192b760e (patch)
treeacb636d661983a6c3fe192cf94b3f86d23e49979 /gpu
parent46971929dc97fe73051c409b3276ba494901e64b (diff)
downloadchromium_src-a5d3dad7b804f843c74bd0bb661b1311192b760e.zip
chromium_src-a5d3dad7b804f843c74bd0bb661b1311192b760e.tar.gz
chromium_src-a5d3dad7b804f843c74bd0bb661b1311192b760e.tar.bz2
Add more GPU process trace events.
Every command is now traced. I removed some trace events from GLES2CmdDecoder that became redundant but left those that provide additional information such as size and left those that are required by tests. Review URL: https://chromiumcodereview.appspot.com/10443048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139182 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu')
-rw-r--r--gpu/command_buffer/service/cmd_parser.cc5
-rw-r--r--gpu/command_buffer/service/gles2_cmd_decoder.cc52
2 files changed, 29 insertions, 28 deletions
diff --git a/gpu/command_buffer/service/cmd_parser.cc b/gpu/command_buffer/service/cmd_parser.cc
index b5383af..31b2571 100644
--- a/gpu/command_buffer/service/cmd_parser.cc
+++ b/gpu/command_buffer/service/cmd_parser.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -7,6 +7,7 @@
#include "gpu/command_buffer/service/cmd_parser.h"
#include "base/logging.h"
+#include "base/debug/trace_event.h"
namespace gpu {
@@ -59,6 +60,8 @@ error::Error CommandParser::ProcessCommand() {
return error::kOutOfBounds;
}
+ TRACE_EVENT0("cb_command", handler_->GetCommandName(header.command));
+
error::Error result = handler_->DoCommand(
header.command, header.size - 1, buffer_ + get);
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc
index c8cfeff..946e2c7 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
@@ -2253,6 +2253,8 @@ void GLES2DecoderImpl::UpdateCapabilities() {
}
bool GLES2DecoderImpl::InitializeShaderTranslator() {
+ TRACE_EVENT0("gpu", "GLES2DecoderImpl::InitializeShaderTranslator");
+
// Re-check the state of use_shader_translator_ each time this is called.
if (gfx::GetGLImplementation() == gfx::kGLImplementationEGLGLES2 &&
(feature_info_->feature_flags().chromium_webglsl ||
@@ -4525,7 +4527,6 @@ void GLES2DecoderImpl::DoRenderbufferStorage(
}
void GLES2DecoderImpl::DoLinkProgram(GLuint program) {
- TRACE_EVENT0("gpu", "GLES2DecoderImpl::DoLinkProgram");
ProgramManager::ProgramInfo* info = GetProgramInfoNotShader(
program, "glLinkProgram");
if (!info) {
@@ -5596,7 +5597,6 @@ error::Error GLES2DecoderImpl::HandleShaderSourceBucket(
}
void GLES2DecoderImpl::DoCompileShader(GLuint client_id) {
- TRACE_EVENT0("gpu", "GLES2DecoderImpl::DoCompileShader");
ShaderManager::ShaderInfo* info = GetShaderInfoNotProgram(
client_id, "glCompileShader");
if (!info) {
@@ -6354,7 +6354,6 @@ error::Error GLES2DecoderImpl::HandlePixelStorei(
error::Error GLES2DecoderImpl::HandlePostSubBufferCHROMIUM(
uint32 immediate_data_size, const gles2::PostSubBufferCHROMIUM& c) {
- TRACE_EVENT0("gpu", "GLES2DecoderImpl::HandlePostSubBufferCHROMIUM");
if (!context_->HasExtension("GL_CHROMIUM_post_sub_buffer")) {
SetGLError(GL_INVALID_OPERATION,
"glPostSubBufferCHROMIUM: command not supported by surface");
@@ -6675,6 +6674,8 @@ bool GLES2DecoderImpl::ClearLevel(
return false;
}
+ TRACE_EVENT1("gpu", "GLES2DecoderImpl::ClearLevel", "size", size);
+
int tile_height;
if (size > kMaxZeroSize) {
@@ -6991,7 +6992,6 @@ error::Error GLES2DecoderImpl::DoTexImage2D(
error::Error GLES2DecoderImpl::HandleTexImage2D(
uint32 immediate_data_size, const gles2::TexImage2D& c) {
- TRACE_EVENT0("gpu", "GLES2DecoderImpl::HandleTexImage2D");
tex_image_2d_failed_ = true;
GLenum target = static_cast<GLenum>(c.target);
GLint level = static_cast<GLint>(c.level);
@@ -7110,14 +7110,14 @@ static void Clip(
}
void GLES2DecoderImpl::DoCopyTexImage2D(
- GLenum target,
- GLint level,
- GLenum internal_format,
- GLint x,
- GLint y,
- GLsizei width,
- GLsizei height,
- GLint border) {
+ GLenum target,
+ GLint level,
+ GLenum internal_format,
+ GLint x,
+ GLint y,
+ GLsizei width,
+ GLsizei height,
+ GLint border) {
TextureManager::TextureInfo* info = GetTextureInfoForTarget(target);
if (!info) {
SetGLError(GL_INVALID_OPERATION,
@@ -7201,14 +7201,14 @@ void GLES2DecoderImpl::DoCopyTexImage2D(
}
void GLES2DecoderImpl::DoCopyTexSubImage2D(
- GLenum target,
- GLint level,
- GLint xoffset,
- GLint yoffset,
- GLint x,
- GLint y,
- GLsizei width,
- GLsizei height) {
+ GLenum target,
+ GLint level,
+ GLint xoffset,
+ GLint yoffset,
+ GLint x,
+ GLint y,
+ GLsizei width,
+ GLsizei height) {
TextureManager::TextureInfo* info = GetTextureInfoForTarget(target);
if (!info) {
SetGLError(GL_INVALID_OPERATION,
@@ -7355,7 +7355,6 @@ void GLES2DecoderImpl::DoTexSubImage2D(
error::Error GLES2DecoderImpl::HandleTexSubImage2D(
uint32 immediate_data_size, const gles2::TexSubImage2D& c) {
- TRACE_EVENT0("gpu", "GLES2DecoderImpl::HandleTexSubImage2D");
GLboolean internal = static_cast<GLboolean>(c.internal);
if (internal == GL_TRUE && tex_image_2d_failed_)
return error::kNoError;
@@ -8621,12 +8620,11 @@ static GLenum ExtractTypeFromStorageFormat(GLenum internalformat) {
}
void GLES2DecoderImpl::DoTexStorage2DEXT(
- GLenum target,
- GLint levels,
- GLenum internal_format,
- GLsizei width,
- GLsizei height) {
- TRACE_EVENT0("gpu", "GLES2DecoderImpl::DoTexStorage2DEXT");
+ GLenum target,
+ GLint levels,
+ GLenum internal_format,
+ GLsizei width,
+ GLsizei height) {
if (!texture_manager()->ValidForTarget(target, 0, width, height, 1) ||
TextureManager::ComputeMipMapCount(width, height, 1) < levels) {
SetGLError(GL_INVALID_VALUE, "glTexStorage2DEXT: dimensions out of range");