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

Side by Side Diff: gpu/demos/framework/window.cc

Issue 6883179: Rework FlushSync to return early if commands have been processed since the last update (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: style Created 9 years, 7 months 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 | « gpu/demos/framework/plugin.rc ('k') | gpu/gpu.gyp » ('j') | 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/demos/framework/window.h" 5 #include "gpu/demos/framework/window.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "gpu/command_buffer/client/gles2_implementation.h" 8 #include "gpu/command_buffer/client/gles2_implementation.h"
9 #include "gpu/command_buffer/client/gles2_lib.h" 9 #include "gpu/command_buffer/client/gles2_lib.h"
10 #include "gpu/command_buffer/service/command_buffer_service.h" 10 #include "gpu/command_buffer/service/command_buffer_service.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 GpuScheduler* gpu_scheduler( 62 GpuScheduler* gpu_scheduler(
63 new GpuScheduler(command_buffer.get(), NULL)); 63 new GpuScheduler(command_buffer.get(), NULL));
64 if (!gpu_scheduler->Initialize(hwnd, gfx::Size(), 64 if (!gpu_scheduler->Initialize(hwnd, gfx::Size(),
65 gpu::gles2::DisallowedExtensions(), 65 gpu::gles2::DisallowedExtensions(),
66 NULL, std::vector<int32>(), 66 NULL, std::vector<int32>(),
67 NULL, 0)) { 67 NULL, 0)) {
68 return false; 68 return false;
69 } 69 }
70 70
71 command_buffer->SetPutOffsetChangeCallback( 71 command_buffer->SetPutOffsetChangeCallback(
72 NewCallback(gpu_scheduler, &GpuScheduler::ProcessCommands)); 72 NewCallback(gpu_scheduler, &GpuScheduler::PutChanged));
73 73
74 GLES2CmdHelper* helper = new GLES2CmdHelper(command_buffer.get()); 74 GLES2CmdHelper* helper = new GLES2CmdHelper(command_buffer.get());
75 if (!helper->Initialize(kCommandBufferSize)) { 75 if (!helper->Initialize(kCommandBufferSize)) {
76 // TODO(alokp): cleanup. 76 // TODO(alokp): cleanup.
77 return false; 77 return false;
78 } 78 }
79 79
80 int32 transfer_buffer_id = 80 int32 transfer_buffer_id =
81 command_buffer->CreateTransferBuffer(kTransferBufferSize, -1); 81 command_buffer->CreateTransferBuffer(kTransferBufferSize, -1);
82 Buffer transfer_buffer = 82 Buffer transfer_buffer =
83 command_buffer->GetTransferBuffer(transfer_buffer_id); 83 command_buffer->GetTransferBuffer(transfer_buffer_id);
84 if (transfer_buffer.ptr == NULL) return false; 84 if (transfer_buffer.ptr == NULL) return false;
85 85
86 ::gles2::Initialize(); 86 ::gles2::Initialize();
87 ::gles2::SetGLContext(new GLES2Implementation(helper, 87 ::gles2::SetGLContext(new GLES2Implementation(helper,
88 transfer_buffer.size, 88 transfer_buffer.size,
89 transfer_buffer.ptr, 89 transfer_buffer.ptr,
90 transfer_buffer_id, 90 transfer_buffer_id,
91 false)); 91 false));
92 return command_buffer.release() != NULL; 92 return command_buffer.release() != NULL;
93 } 93 }
94 94
95 } // namespace demos 95 } // namespace demos
96 } // namespace gpu 96 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/demos/framework/plugin.rc ('k') | gpu/gpu.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698