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

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, NULL)); 163 scoped_ptr<RendererGLContext> context(new RendererGLContext(channel, NULL));
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 12 matching lines...) Expand all
190 GpuChannelHost* channel, 188 GpuChannelHost* channel,
191 RendererGLContext* parent, 189 RendererGLContext* parent,
192 const gfx::Size& size, 190 const gfx::Size& size,
193 const char* allowed_extensions, 191 const char* allowed_extensions,
194 const int32* attrib_list, 192 const int32* attrib_list,
195 const GURL& active_url) { 193 const GURL& active_url) {
196 #if defined(ENABLE_GPU) 194 #if defined(ENABLE_GPU)
197 scoped_ptr<RendererGLContext> context(new RendererGLContext(channel, parent)); 195 scoped_ptr<RendererGLContext> context(new RendererGLContext(channel, parent));
198 if (!context->Initialize( 196 if (!context->Initialize(
199 false, 197 false,
200 gfx::kNullPluginWindow,
201 0, 198 0,
202 size, 199 size,
203 allowed_extensions, 200 allowed_extensions,
204 attrib_list, 201 attrib_list,
205 active_url)) 202 active_url))
206 return NULL; 203 return NULL;
207 204
208 return context.release(); 205 return context.release();
209 #else 206 #else
210 return NULL; 207 return NULL;
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 command_buffer_(NULL), 351 command_buffer_(NULL),
355 gles2_helper_(NULL), 352 gles2_helper_(NULL),
356 transfer_buffer_id_(-1), 353 transfer_buffer_id_(-1),
357 gles2_implementation_(NULL), 354 gles2_implementation_(NULL),
358 last_error_(SUCCESS), 355 last_error_(SUCCESS),
359 frame_number_(0) { 356 frame_number_(0) {
360 DCHECK(channel); 357 DCHECK(channel);
361 } 358 }
362 359
363 bool RendererGLContext::Initialize(bool onscreen, 360 bool RendererGLContext::Initialize(bool onscreen,
364 gfx::PluginWindowHandle render_surface,
365 int render_view_id, 361 int render_view_id,
366 const gfx::Size& size, 362 const gfx::Size& size,
367 const char* allowed_extensions, 363 const char* allowed_extensions,
368 const int32* attrib_list, 364 const int32* attrib_list,
369 const GURL& active_url) { 365 const GURL& active_url) {
370 DCHECK(size.width() >= 0 && size.height() >= 0); 366 DCHECK(size.width() >= 0 && size.height() >= 0);
371 TRACE_EVENT2("gpu", "RendererGLContext::Initialize", 367 TRACE_EVENT2("gpu", "RendererGLContext::Initialize",
372 "on_screen", onscreen, "num_pixels", size.GetArea()); 368 "on_screen", onscreen, "num_pixels", size.GetArea());
373 369
374 if (channel_->state() != GpuChannelHost::kConnected) 370 if (channel_->state() != GpuChannelHost::kConnected)
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 default: 405 default:
410 last_error_ = BAD_ATTRIBUTE; 406 last_error_ = BAD_ATTRIBUTE;
411 attribs.push_back(NONE); 407 attribs.push_back(NONE);
412 attrib_list = NULL; 408 attrib_list = NULL;
413 break; 409 break;
414 } 410 }
415 } 411 }
416 412
417 // Create a proxy to a command buffer in the GPU process. 413 // Create a proxy to a command buffer in the GPU process.
418 if (onscreen) { 414 if (onscreen) {
419 if (render_surface == gfx::kNullPluginWindow) { 415 command_buffer_ = channel_->CreateViewCommandBuffer(
420 LOG(ERROR) << "Invalid surface handle for onscreen context."; 416 render_view_id,
421 command_buffer_ = NULL; 417 allowed_extensions,
422 } else { 418 attribs,
423 command_buffer_ = channel_->CreateViewCommandBuffer( 419 active_url);
424 render_surface,
425 render_view_id,
426 allowed_extensions,
427 attribs,
428 active_url);
429 }
430 } else { 420 } else {
431 CommandBufferProxy* parent_command_buffer = 421 CommandBufferProxy* parent_command_buffer =
432 parent_.get() ? parent_->command_buffer_ : NULL; 422 parent_.get() ? parent_->command_buffer_ : NULL;
433 command_buffer_ = channel_->CreateOffscreenCommandBuffer( 423 command_buffer_ = channel_->CreateOffscreenCommandBuffer(
434 parent_command_buffer, 424 parent_command_buffer,
435 size, 425 size,
436 allowed_extensions, 426 allowed_extensions,
437 attribs, 427 attribs,
438 parent_texture_id_, 428 parent_texture_id_,
439 active_url); 429 active_url);
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
577 return false; 567 return false;
578 } 568 }
579 569
580 bool RendererGLContext::GetChildToParentLatch(uint32* child_to_parent_latch) { 570 bool RendererGLContext::GetChildToParentLatch(uint32* child_to_parent_latch) {
581 if (parent_.get()) { 571 if (parent_.get()) {
582 *child_to_parent_latch = child_to_parent_latch_; 572 *child_to_parent_latch = child_to_parent_latch_;
583 return true; 573 return true;
584 } 574 }
585 return false; 575 return false;
586 } 576 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698