| OLD | NEW |
| 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 #include "base/bind.h" | 5 #include "base/bind.h" |
| 6 #include "base/bind_helpers.h" | 6 #include "base/bind_helpers.h" |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/debug/trace_event.h" | 8 #include "base/debug/trace_event.h" |
| 9 #include "base/hash.h" | 9 #include "base/hash.h" |
| 10 #include "base/shared_memory.h" | 10 #include "base/shared_memory.h" |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 104 gpu::gles2::ImageManager* image_manager, | 104 gpu::gles2::ImageManager* image_manager, |
| 105 const gfx::Size& size, | 105 const gfx::Size& size, |
| 106 const gpu::gles2::DisallowedFeatures& disallowed_features, | 106 const gpu::gles2::DisallowedFeatures& disallowed_features, |
| 107 const std::string& allowed_extensions, | 107 const std::string& allowed_extensions, |
| 108 const std::vector<int32>& attribs, | 108 const std::vector<int32>& attribs, |
| 109 gfx::GpuPreference gpu_preference, | 109 gfx::GpuPreference gpu_preference, |
| 110 int32 route_id, | 110 int32 route_id, |
| 111 int32 surface_id, | 111 int32 surface_id, |
| 112 GpuWatchdog* watchdog, | 112 GpuWatchdog* watchdog, |
| 113 bool software, | 113 bool software, |
| 114 bool use_virtual_gl_context, |
| 114 const GURL& active_url) | 115 const GURL& active_url) |
| 115 : channel_(channel), | 116 : channel_(channel), |
| 116 handle_(handle), | 117 handle_(handle), |
| 117 initial_size_(size), | 118 initial_size_(size), |
| 118 disallowed_features_(disallowed_features), | 119 disallowed_features_(disallowed_features), |
| 119 allowed_extensions_(allowed_extensions), | 120 allowed_extensions_(allowed_extensions), |
| 120 requested_attribs_(attribs), | 121 requested_attribs_(attribs), |
| 121 gpu_preference_(gpu_preference), | 122 gpu_preference_(gpu_preference), |
| 122 route_id_(route_id), | 123 route_id_(route_id), |
| 123 surface_id_(surface_id), | 124 surface_id_(surface_id), |
| 124 software_(software), | 125 software_(software), |
| 126 use_virtual_gl_context_(use_virtual_gl_context), |
| 125 last_flush_count_(0), | 127 last_flush_count_(0), |
| 126 last_memory_allocation_valid_(false), | 128 last_memory_allocation_valid_(false), |
| 127 parent_stub_for_initialization_(), | 129 parent_stub_for_initialization_(), |
| 128 parent_texture_for_initialization_(0), | 130 parent_texture_for_initialization_(0), |
| 129 watchdog_(watchdog), | 131 watchdog_(watchdog), |
| 130 sync_point_wait_count_(0), | 132 sync_point_wait_count_(0), |
| 131 delayed_work_scheduled_(false), | 133 delayed_work_scheduled_(false), |
| 132 previous_messages_processed_(0), | 134 previous_messages_processed_(0), |
| 133 active_url_(active_url), | 135 active_url_(active_url), |
| 134 total_gpu_memory_(0) { | 136 total_gpu_memory_(0) { |
| (...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 428 surface_ = manager->GetDefaultOffscreenSurface(); | 430 surface_ = manager->GetDefaultOffscreenSurface(); |
| 429 } | 431 } |
| 430 | 432 |
| 431 if (!surface_.get()) { | 433 if (!surface_.get()) { |
| 432 DLOG(ERROR) << "Failed to create surface.\n"; | 434 DLOG(ERROR) << "Failed to create surface.\n"; |
| 433 OnInitializeFailed(reply_message); | 435 OnInitializeFailed(reply_message); |
| 434 return; | 436 return; |
| 435 } | 437 } |
| 436 | 438 |
| 437 scoped_refptr<gfx::GLContext> context; | 439 scoped_refptr<gfx::GLContext> context; |
| 438 if (CommandLine::ForCurrentProcess()->HasSwitch( | 440 if ((CommandLine::ForCurrentProcess()->HasSwitch( |
| 439 switches::kEnableVirtualGLContexts) && channel_->share_group()) { | 441 switches::kEnableVirtualGLContexts) || use_virtual_gl_context_) && |
| 442 channel_->share_group()) { |
| 440 context = channel_->share_group()->GetSharedContext(); | 443 context = channel_->share_group()->GetSharedContext(); |
| 441 if (!context) { | 444 if (!context) { |
| 442 context = gfx::GLContext::CreateGLContext( | 445 context = gfx::GLContext::CreateGLContext( |
| 443 channel_->share_group(), | 446 channel_->share_group(), |
| 444 channel_->gpu_channel_manager()->GetDefaultOffscreenSurface(), | 447 channel_->gpu_channel_manager()->GetDefaultOffscreenSurface(), |
| 445 gpu_preference_); | 448 gpu_preference_); |
| 446 channel_->share_group()->SetSharedContext(context); | 449 channel_->share_group()->SetSharedContext(context); |
| 447 } | 450 } |
| 448 // This should be a non-virtual GL context. | 451 // This should be a non-virtual GL context. |
| 449 DCHECK(context->GetHandle()); | 452 DCHECK(context->GetHandle()); |
| (...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 923 if (surface_ && MakeCurrent()) | 926 if (surface_ && MakeCurrent()) |
| 924 surface_->SetFrontbufferAllocation( | 927 surface_->SetFrontbufferAllocation( |
| 925 allocation.browser_allocation.suggest_have_frontbuffer); | 928 allocation.browser_allocation.suggest_have_frontbuffer); |
| 926 } | 929 } |
| 927 | 930 |
| 928 last_memory_allocation_valid_ = true; | 931 last_memory_allocation_valid_ = true; |
| 929 last_memory_allocation_ = allocation; | 932 last_memory_allocation_ = allocation; |
| 930 } | 933 } |
| 931 | 934 |
| 932 } // namespace content | 935 } // namespace content |
| OLD | NEW |