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

Side by Side Diff: content/renderer/gpu/renderer_gl_context.cc

Issue 7136001: GPU compositing surface handle is no longer sent to renderer process. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 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
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 "content/renderer/gpu/renderer_gl_context.h" 5 #include "content/renderer/gpu/renderer_gl_context.h"
6 6
7 #include "base/debug/trace_event.h" 7 #include "base/debug/trace_event.h"
8 #include "base/lazy_instance.h" 8 #include "base/lazy_instance.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 base::LINKER_INITIALIZED); 148 base::LINKER_INITIALIZED);
149 149
150 } // namespace anonymous 150 } // namespace anonymous
151 151
152 RendererGLContext::~RendererGLContext() { 152 RendererGLContext::~RendererGLContext() {
153 Destroy(); 153 Destroy();
154 } 154 }
155 155
156 RendererGLContext* RendererGLContext::CreateViewContext( 156 RendererGLContext* RendererGLContext::CreateViewContext(
157 GpuChannelHost* channel, 157 GpuChannelHost* channel,
158 gfx::PluginWindowHandle render_surface,
159 int render_view_id, 158 int render_view_id,
160 const char* allowed_extensions, 159 const char* allowed_extensions,
161 const int32* attrib_list, 160 const int32* attrib_list,
162 const GURL& active_url) { 161 const GURL& active_url) {
163 #if defined(ENABLE_GPU) 162 #if defined(ENABLE_GPU)
164 scoped_ptr<RendererGLContext> context(new RendererGLContext(channel)); 163 scoped_ptr<RendererGLContext> context(new RendererGLContext(channel));
165 if (!context->Initialize( 164 if (!context->Initialize(
166 true, 165 true,
167 render_surface,
168 render_view_id, 166 render_view_id,
169 gfx::Size(), 167 gfx::Size(),
170 allowed_extensions, 168 allowed_extensions,
171 attrib_list, 169 attrib_list,
172 active_url)) 170 active_url))
173 return NULL; 171 return NULL;
174 172
175 return context.release(); 173 return context.release();
176 #else 174 #else
177 return NULL; 175 return NULL;
(...skipping 11 matching lines...) Expand all
189 RendererGLContext* RendererGLContext::CreateOffscreenContext( 187 RendererGLContext* RendererGLContext::CreateOffscreenContext(
190 GpuChannelHost* channel, 188 GpuChannelHost* channel,
191 const gfx::Size& size, 189 const gfx::Size& size,
192 const char* allowed_extensions, 190 const char* allowed_extensions,
193 const int32* attrib_list, 191 const int32* attrib_list,
194 const GURL& active_url) { 192 const GURL& active_url) {
195 #if defined(ENABLE_GPU) 193 #if defined(ENABLE_GPU)
196 scoped_ptr<RendererGLContext> context(new RendererGLContext(channel)); 194 scoped_ptr<RendererGLContext> context(new RendererGLContext(channel));
197 if (!context->Initialize( 195 if (!context->Initialize(
198 false, 196 false,
199 gfx::kNullPluginWindow,
200 0, 197 0,
201 size, 198 size,
202 allowed_extensions, 199 allowed_extensions,
203 attrib_list, 200 attrib_list,
204 active_url)) 201 active_url))
205 return NULL; 202 return NULL;
206 203
207 return context.release(); 204 return context.release();
208 #else 205 #else
209 return NULL; 206 return NULL;
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 command_buffer_(NULL), 387 command_buffer_(NULL),
391 gles2_helper_(NULL), 388 gles2_helper_(NULL),
392 transfer_buffer_id_(-1), 389 transfer_buffer_id_(-1),
393 gles2_implementation_(NULL), 390 gles2_implementation_(NULL),
394 last_error_(SUCCESS), 391 last_error_(SUCCESS),
395 frame_number_(0) { 392 frame_number_(0) {
396 DCHECK(channel); 393 DCHECK(channel);
397 } 394 }
398 395
399 bool RendererGLContext::Initialize(bool onscreen, 396 bool RendererGLContext::Initialize(bool onscreen,
400 gfx::PluginWindowHandle render_surface,
401 int render_view_id, 397 int render_view_id,
402 const gfx::Size& size, 398 const gfx::Size& size,
403 const char* allowed_extensions, 399 const char* allowed_extensions,
404 const int32* attrib_list, 400 const int32* attrib_list,
405 const GURL& active_url) { 401 const GURL& active_url) {
406 DCHECK(size.width() >= 0 && size.height() >= 0); 402 DCHECK(size.width() >= 0 && size.height() >= 0);
407 TRACE_EVENT2("gpu", "RendererGLContext::Initialize", 403 TRACE_EVENT2("gpu", "RendererGLContext::Initialize",
408 "on_screen", onscreen, "num_pixels", size.GetArea()); 404 "on_screen", onscreen, "num_pixels", size.GetArea());
409 405
410 if (channel_->state() != GpuChannelHost::kConnected) 406 if (channel_->state() != GpuChannelHost::kConnected)
(...skipping 25 matching lines...) Expand all
436 default: 432 default:
437 last_error_ = BAD_ATTRIBUTE; 433 last_error_ = BAD_ATTRIBUTE;
438 attribs.push_back(NONE); 434 attribs.push_back(NONE);
439 attrib_list = NULL; 435 attrib_list = NULL;
440 break; 436 break;
441 } 437 }
442 } 438 }
443 439
444 // Create a proxy to a command buffer in the GPU process. 440 // Create a proxy to a command buffer in the GPU process.
445 if (onscreen) { 441 if (onscreen) {
446 if (render_surface == gfx::kNullPluginWindow) { 442 TRACE_EVENT0("gpu",
447 LOG(ERROR) << "Invalid surface handle for onscreen context."; 443 "RendererGLContext::Initialize::CreateViewCommandBuffer");
448 command_buffer_ = NULL; 444 command_buffer_ = channel_->CreateViewCommandBuffer(
449 } else { 445 render_view_id,
450 TRACE_EVENT0("gpu", 446 allowed_extensions,
451 "RendererGLContext::Initialize::CreateViewCommandBuffer"); 447 attribs,
452 command_buffer_ = channel_->CreateViewCommandBuffer( 448 active_url);
453 render_surface,
454 render_view_id,
455 allowed_extensions,
456 attribs,
457 active_url);
458 }
459 } else { 449 } else {
460 command_buffer_ = channel_->CreateOffscreenCommandBuffer( 450 command_buffer_ = channel_->CreateOffscreenCommandBuffer(
461 size, 451 size,
462 allowed_extensions, 452 allowed_extensions,
463 attribs, 453 attribs,
464 active_url); 454 active_url);
465 } 455 }
466 if (!command_buffer_) { 456 if (!command_buffer_) {
467 Destroy(); 457 Destroy();
468 return false; 458 return false;
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
597 587
598 bool RendererGLContext::GetParentToChildLatch(uint32* parent_to_child_latch) { 588 bool RendererGLContext::GetParentToChildLatch(uint32* parent_to_child_latch) {
599 *parent_to_child_latch = parent_to_child_latch_; 589 *parent_to_child_latch = parent_to_child_latch_;
600 return true; 590 return true;
601 } 591 }
602 592
603 bool RendererGLContext::GetChildToParentLatch(uint32* child_to_parent_latch) { 593 bool RendererGLContext::GetChildToParentLatch(uint32* child_to_parent_latch) {
604 *child_to_parent_latch = child_to_parent_latch_; 594 *child_to_parent_latch = child_to_parent_latch_;
605 return true; 595 return true;
606 } 596 }
OLDNEW
« no previous file with comments | « content/renderer/gpu/renderer_gl_context.h ('k') | content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698