Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(75)

Side by Side Diff: gpu/command_buffer/service/gles2_cmd_decoder.cc

Issue 8883005: Input latency performance test that uses tracing. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: win link error fix Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « content/browser/renderer_host/render_widget_host.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" 5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h"
6 6
7 #include <stdio.h> 7 #include <stdio.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <list> 10 #include <list>
(...skipping 3826 matching lines...) Expand 10 before | Expand all | Expand 10 after
3837 } 3837 }
3838 if (ids == NULL) { 3838 if (ids == NULL) {
3839 return error::kOutOfBounds; 3839 return error::kOutOfBounds;
3840 } 3840 }
3841 DoRegisterSharedIdsCHROMIUM(namespace_id, n, ids); 3841 DoRegisterSharedIdsCHROMIUM(namespace_id, n, ids);
3842 return error::kNoError; 3842 return error::kNoError;
3843 } 3843 }
3844 3844
3845 void GLES2DecoderImpl::DoClear(GLbitfield mask) { 3845 void GLES2DecoderImpl::DoClear(GLbitfield mask) {
3846 if (CheckBoundFramebuffersValid("glClear")) { 3846 if (CheckBoundFramebuffersValid("glClear")) {
3847 UNSHIPPED_TRACE_EVENT_INSTANT2("test_gpu", "DoClear", "red", clear_red_,
3848 "green", clear_green_);
3847 ApplyDirtyState(); 3849 ApplyDirtyState();
3848 glClear(mask); 3850 glClear(mask);
3849 } 3851 }
3850 } 3852 }
3851 3853
3852 void GLES2DecoderImpl::DoFramebufferRenderbuffer( 3854 void GLES2DecoderImpl::DoFramebufferRenderbuffer(
3853 GLenum target, GLenum attachment, GLenum renderbuffertarget, 3855 GLenum target, GLenum attachment, GLenum renderbuffertarget,
3854 GLuint client_renderbuffer_id) { 3856 GLuint client_renderbuffer_id) {
3855 FramebufferManager::FramebufferInfo* framebuffer_info = 3857 FramebufferManager::FramebufferInfo* framebuffer_info =
3856 GetFramebufferInfoForTarget(target); 3858 GetFramebufferInfoForTarget(target);
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
4146 SetGLError(GL_INVALID_OPERATION, 4148 SetGLError(GL_INVALID_OPERATION,
4147 "glBlitFramebufferEXT: function not available"); 4149 "glBlitFramebufferEXT: function not available");
4148 } 4150 }
4149 if (IsAngle()) { 4151 if (IsAngle()) {
4150 glBlitFramebufferANGLE( 4152 glBlitFramebufferANGLE(
4151 srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); 4153 srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
4152 } else { 4154 } else {
4153 glBlitFramebufferEXT( 4155 glBlitFramebufferEXT(
4154 srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); 4156 srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
4155 } 4157 }
4158 UNSHIPPED_TRACE_EVENT_INSTANT1("test_gpu", "DoBlit", "width", srcX1 - srcX0);
4156 } 4159 }
4157 4160
4158 void GLES2DecoderImpl::DoRenderbufferStorageMultisample( 4161 void GLES2DecoderImpl::DoRenderbufferStorageMultisample(
4159 GLenum target, GLsizei samples, GLenum internalformat, 4162 GLenum target, GLsizei samples, GLenum internalformat,
4160 GLsizei width, GLsizei height) { 4163 GLsizei width, GLsizei height) {
4161 if (!feature_info_->feature_flags().chromium_framebuffer_multisample) { 4164 if (!feature_info_->feature_flags().chromium_framebuffer_multisample) {
4162 SetGLError(GL_INVALID_OPERATION, 4165 SetGLError(GL_INVALID_OPERATION,
4163 "glRenderbufferStorageMultisampleEXT: function not available"); 4166 "glRenderbufferStorageMultisampleEXT: function not available");
4164 return; 4167 return;
4165 } 4168 }
(...skipping 3096 matching lines...) Expand 10 before | Expand all | Expand 10 after
7262 // TODO(gman): call glShaderBinary 7265 // TODO(gman): call glShaderBinary
7263 return error::kNoError; 7266 return error::kNoError;
7264 #endif 7267 #endif
7265 } 7268 }
7266 7269
7267 error::Error GLES2DecoderImpl::HandleSwapBuffers( 7270 error::Error GLES2DecoderImpl::HandleSwapBuffers(
7268 uint32 immediate_data_size, const gles2::SwapBuffers& c) { 7271 uint32 immediate_data_size, const gles2::SwapBuffers& c) {
7269 bool is_offscreen = !!offscreen_target_frame_buffer_.get(); 7272 bool is_offscreen = !!offscreen_target_frame_buffer_.get();
7270 int this_frame_number = frame_number_++; 7273 int this_frame_number = frame_number_++;
7271 // TRACE_EVENT for gpu tests: 7274 // TRACE_EVENT for gpu tests:
7272 TRACE_EVENT_INSTANT1("test_gpu", "SwapBuffers", 7275 TRACE_EVENT_INSTANT2("test_gpu", "SwapBuffers",
7273 "GLImpl", static_cast<int>(gfx::GetGLImplementation())); 7276 "GLImpl", static_cast<int>(gfx::GetGLImplementation()),
7277 "width", (is_offscreen ? offscreen_size_.width() :
7278 surface_->GetSize().width()));
7274 TRACE_EVENT2("gpu", "GLES2DecoderImpl::HandleSwapBuffers", 7279 TRACE_EVENT2("gpu", "GLES2DecoderImpl::HandleSwapBuffers",
7275 "offscreen", is_offscreen, 7280 "offscreen", is_offscreen,
7276 "frame", this_frame_number); 7281 "frame", this_frame_number);
7277 // If offscreen then don't actually SwapBuffers to the display. Just copy 7282 // If offscreen then don't actually SwapBuffers to the display. Just copy
7278 // the rendered frame to another frame buffer. 7283 // the rendered frame to another frame buffer.
7279 if (is_offscreen) { 7284 if (is_offscreen) {
7280 if (offscreen_size_ != offscreen_saved_color_texture_->size()) { 7285 if (offscreen_size_ != offscreen_saved_color_texture_->size()) {
7281 // Workaround for NVIDIA driver bug on OS X; crbug.com/89557, 7286 // Workaround for NVIDIA driver bug on OS X; crbug.com/89557,
7282 // crbug.com/94163. TODO(kbr): figure out reproduction so Apple will 7287 // crbug.com/94163. TODO(kbr): figure out reproduction so Apple will
7283 // fix this. 7288 // fix this.
(...skipping 626 matching lines...) Expand 10 before | Expand all | Expand 10 after
7910 7915
7911 } 7916 }
7912 7917
7913 // Include the auto-generated part of this file. We split this because it means 7918 // Include the auto-generated part of this file. We split this because it means
7914 // we can easily edit the non-auto generated parts right here in this file 7919 // we can easily edit the non-auto generated parts right here in this file
7915 // instead of having to edit some template or the code generator. 7920 // instead of having to edit some template or the code generator.
7916 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" 7921 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h"
7917 7922
7918 } // namespace gles2 7923 } // namespace gles2
7919 } // namespace gpu 7924 } // namespace gpu
OLDNEW
« no previous file with comments | « content/browser/renderer_host/render_widget_host.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698