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

Side by Side Diff: ui/aura/bench/bench_main.cc

Issue 307963007: Removes ContextFactory::Get/SetInstance (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix aura_bench Created 6 years, 6 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 | « content/browser/compositor/image_transport_factory.cc ('k') | ui/compositor/compositor.h » ('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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #if defined(USE_X11) 5 #if defined(USE_X11)
6 #include <X11/Xlib.h> 6 #include <X11/Xlib.h>
7 #endif 7 #endif
8 8
9 #include "base/at_exit.h" 9 #include "base/at_exit.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 bool is_lost) { 141 bool is_lost) {
142 gpu::gles2::GLES2Interface* gl = context_provider->ContextGL(); 142 gpu::gles2::GLES2Interface* gl = context_provider->ContextGL();
143 gl->WaitSyncPointCHROMIUM(sync_point); 143 gl->WaitSyncPointCHROMIUM(sync_point);
144 gl->DeleteTextures(1, &texture); 144 gl->DeleteTextures(1, &texture);
145 gl->ShallowFlushCHROMIUM(); 145 gl->ShallowFlushCHROMIUM();
146 } 146 }
147 147
148 // A benchmark that adds a texture layer that is updated every frame. 148 // A benchmark that adds a texture layer that is updated every frame.
149 class WebGLBench : public BenchCompositorObserver { 149 class WebGLBench : public BenchCompositorObserver {
150 public: 150 public:
151 WebGLBench(Layer* parent, Compositor* compositor, int max_frames) 151 WebGLBench(ui::ContextFactory* context_factory,
152 Layer* parent,
153 Compositor* compositor,
154 int max_frames)
152 : BenchCompositorObserver(max_frames), 155 : BenchCompositorObserver(max_frames),
153 parent_(parent), 156 parent_(parent),
154 webgl_(ui::LAYER_TEXTURED), 157 webgl_(ui::LAYER_TEXTURED),
155 compositor_(compositor), 158 compositor_(compositor),
156 fbo_(0), 159 fbo_(0),
157 do_draw_(true) { 160 do_draw_(true) {
158 CommandLine* command_line = CommandLine::ForCurrentProcess(); 161 CommandLine* command_line = CommandLine::ForCurrentProcess();
159 do_draw_ = !command_line->HasSwitch("disable-draw"); 162 do_draw_ = !command_line->HasSwitch("disable-draw");
160 163
161 std::string webgl_size = command_line->GetSwitchValueASCII("webgl-size"); 164 std::string webgl_size = command_line->GetSwitchValueASCII("webgl-size");
162 int width = 0; 165 int width = 0;
163 int height = 0; 166 int height = 0;
164 if (!webgl_size.empty()) { 167 if (!webgl_size.empty()) {
165 std::vector<std::string> split_size; 168 std::vector<std::string> split_size;
166 base::SplitString(webgl_size, 'x', &split_size); 169 base::SplitString(webgl_size, 'x', &split_size);
167 if (split_size.size() == 2) { 170 if (split_size.size() == 2) {
168 width = atoi(split_size[0].c_str()); 171 width = atoi(split_size[0].c_str());
169 height = atoi(split_size[1].c_str()); 172 height = atoi(split_size[1].c_str());
170 } 173 }
171 } 174 }
172 if (!width || !height) { 175 if (!width || !height) {
173 width = 800; 176 width = 800;
174 height = 600; 177 height = 600;
175 } 178 }
176 gfx::Rect bounds(width, height); 179 gfx::Rect bounds(width, height);
177 webgl_.SetBounds(bounds); 180 webgl_.SetBounds(bounds);
178 parent_->Add(&webgl_); 181 parent_->Add(&webgl_);
179 182
180 context_provider_ = 183 context_provider_ = context_factory->SharedMainThreadContextProvider();
181 ui::ContextFactory::GetInstance()->SharedMainThreadContextProvider();
182 gpu::gles2::GLES2Interface* gl = context_provider_->ContextGL(); 184 gpu::gles2::GLES2Interface* gl = context_provider_->ContextGL();
183 GLuint texture = 0; 185 GLuint texture = 0;
184 gl->GenTextures(1, &texture); 186 gl->GenTextures(1, &texture);
185 gl->BindTexture(GL_TEXTURE_2D, texture); 187 gl->BindTexture(GL_TEXTURE_2D, texture);
186 gl->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); 188 gl->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
187 gl->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 189 gl->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
188 gl->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); 190 gl->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
189 gl->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); 191 gl->TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
190 gl->TexImage2D(GL_TEXTURE_2D, 192 gl->TexImage2D(GL_TEXTURE_2D,
191 0, 193 0,
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
342 content_layer.Add(&page_background); 344 content_layer.Add(&page_background);
343 345
344 int frames = atoi(command_line->GetSwitchValueASCII("frames").c_str()); 346 int frames = atoi(command_line->GetSwitchValueASCII("frames").c_str());
345 scoped_ptr<BenchCompositorObserver> bench; 347 scoped_ptr<BenchCompositorObserver> bench;
346 348
347 if (command_line->HasSwitch("bench-software-scroll")) { 349 if (command_line->HasSwitch("bench-software-scroll")) {
348 bench.reset(new SoftwareScrollBench(&page_background, 350 bench.reset(new SoftwareScrollBench(&page_background,
349 host->compositor(), 351 host->compositor(),
350 frames)); 352 frames));
351 } else { 353 } else {
352 bench.reset(new WebGLBench(&page_background, 354 bench.reset(new WebGLBench(context_factory.get(),
355 &page_background,
353 host->compositor(), 356 host->compositor(),
354 frames)); 357 frames));
355 } 358 }
356 359
357 #ifndef NDEBUG 360 #ifndef NDEBUG
358 ui::PrintLayerHierarchy(host->window()->layer(), gfx::Point(100, 100)); 361 ui::PrintLayerHierarchy(host->window()->layer(), gfx::Point(100, 100));
359 #endif 362 #endif
360 363
361 host->Show(); 364 host->Show();
362 base::MessageLoopForUI::current()->Run(); 365 base::MessageLoopForUI::current()->Run();
363 focus_client.reset(); 366 focus_client.reset();
364 host.reset(); 367 host.reset();
365 368
366 return 0; 369 return 0;
367 } 370 }
OLDNEW
« no previous file with comments | « content/browser/compositor/image_transport_factory.cc ('k') | ui/compositor/compositor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698