diff options
author | epenner@chromium.org <epenner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-16 04:23:22 +0000 |
---|---|---|
committer | epenner@chromium.org <epenner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-16 04:23:22 +0000 |
commit | 61c215240e8bb9fd5c098ac3ba20c97161651a8b (patch) | |
tree | 0fb285b2b2406dc1306b6670c2e46841a57f51db /ui/gl | |
parent | 7e87d3f07b8ab61ac2c7e181d11b6a999f5e91f5 (diff) | |
download | chromium_src-61c215240e8bb9fd5c098ac3ba20c97161651a8b.zip chromium_src-61c215240e8bb9fd5c098ac3ba20c97161651a8b.tar.gz chromium_src-61c215240e8bb9fd5c098ac3ba20c97161651a8b.tar.bz2 |
GPU: Add trace for real SwapBuffers.
There is too many abstractions in our surface classes to
determine 'real' SwapBuffers calls in traces. This adds
traces in all the relevant places where we do 'real' swaps.
BUG=334063
Review URL: https://codereview.chromium.org/137823002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245107 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/gl')
-rw-r--r-- | ui/gl/gl_surface_egl.cc | 5 | ||||
-rw-r--r-- | ui/gl/gl_surface_glx.cc | 4 | ||||
-rw-r--r-- | ui/gl/gl_surface_nsview.mm | 4 | ||||
-rw-r--r-- | ui/gl/gl_surface_wgl.cc | 5 | ||||
-rw-r--r-- | ui/gl/gl_surface_x11.cc | 4 |
5 files changed, 22 insertions, 0 deletions
diff --git a/ui/gl/gl_surface_egl.cc b/ui/gl/gl_surface_egl.cc index d11577b..b6a7184 100644 --- a/ui/gl/gl_surface_egl.cc +++ b/ui/gl/gl_surface_egl.cc @@ -13,6 +13,7 @@ #endif #include "base/command_line.h" +#include "base/debug/trace_event.h" #include "base/logging.h" #include "base/memory/scoped_ptr.h" #include "base/message_loop/message_loop.h" @@ -394,6 +395,10 @@ bool NativeViewGLSurfaceEGL::IsOffscreen() { } bool NativeViewGLSurfaceEGL::SwapBuffers() { + TRACE_EVENT2("gpu", "NativeViewGLSurfaceEGL:RealSwapBuffers", + "width", GetSize().width(), + "height", GetSize().height()); + if (!eglSwapBuffers(GetDisplay(), surface_)) { DVLOG(1) << "eglSwapBuffers failed with error " << GetLastEGLErrorString(); diff --git a/ui/gl/gl_surface_glx.cc b/ui/gl/gl_surface_glx.cc index 8f0fe89..cb3c06d 100644 --- a/ui/gl/gl_surface_glx.cc +++ b/ui/gl/gl_surface_glx.cc @@ -600,6 +600,10 @@ bool NativeViewGLSurfaceGLX::IsOffscreen() { } bool NativeViewGLSurfaceGLX::SwapBuffers() { + TRACE_EVENT2("gpu", "NativeViewGLSurfaceGLX:RealSwapBuffers", + "width", GetSize().width(), + "height", GetSize().height()); + glXSwapBuffers(g_display, GetDrawableHandle()); return true; } diff --git a/ui/gl/gl_surface_nsview.mm b/ui/gl/gl_surface_nsview.mm index ded0719..9818dbf 100644 --- a/ui/gl/gl_surface_nsview.mm +++ b/ui/gl/gl_surface_nsview.mm @@ -7,6 +7,7 @@ #import <AppKit/NSOpenGL.h> #import <AppKit/NSView.h> +#include "base/debug/trace_event.h" #include "ui/gl/gl_context_nsview.h" namespace gfx { @@ -27,6 +28,9 @@ bool GLSurfaceNSView::IsOffscreen() { } bool GLSurfaceNSView::SwapBuffers() { + TRACE_EVENT2("gpu", "GLSurfaceNSView:RealSwapBuffers", + "width", GetSize().width(), + "height", GetSize().height()); context_->FlushBuffer(); return true; } diff --git a/ui/gl/gl_surface_wgl.cc b/ui/gl/gl_surface_wgl.cc index 7e1c3a7..045a624 100644 --- a/ui/gl/gl_surface_wgl.cc +++ b/ui/gl/gl_surface_wgl.cc @@ -4,6 +4,7 @@ #include "ui/gl/gl_surface_wgl.h" +#include "base/debug/trace_event.h" #include "base/logging.h" #include "base/memory/scoped_ptr.h" #include "ui/gl/gl_bindings.h" @@ -267,6 +268,10 @@ bool NativeViewGLSurfaceWGL::IsOffscreen() { } bool NativeViewGLSurfaceWGL::SwapBuffers() { + TRACE_EVENT2("gpu", "NativeViewGLSurfaceWGL:RealSwapBuffers", + "width", GetSize().width(), + "height", GetSize().height()); + // Resize the child window to match the parent before swapping. Do not repaint // it as it moves. RECT rect; diff --git a/ui/gl/gl_surface_x11.cc b/ui/gl/gl_surface_x11.cc index 5053a56..3673a1d 100644 --- a/ui/gl/gl_surface_x11.cc +++ b/ui/gl/gl_surface_x11.cc @@ -185,6 +185,10 @@ bool NativeViewGLSurfaceOSMesa::IsOffscreen() { } bool NativeViewGLSurfaceOSMesa::SwapBuffers() { + TRACE_EVENT2("gpu", "NativeViewGLSurfaceOSMesa:RealSwapBuffers", + "width", GetSize().width(), + "height", GetSize().height()); + gfx::Size size = GetSize(); XWindowAttributes attributes; |