| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/command_buffer/service/in_process_command_buffer.h" | 5 #include "gpu/command_buffer/service/in_process_command_buffer.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <queue> | 10 #include <queue> |
| (...skipping 19 matching lines...) Expand all Loading... |
| 30 #include "gpu/command_buffer/service/command_executor.h" | 30 #include "gpu/command_buffer/service/command_executor.h" |
| 31 #include "gpu/command_buffer/service/context_group.h" | 31 #include "gpu/command_buffer/service/context_group.h" |
| 32 #include "gpu/command_buffer/service/gl_context_virtual.h" | 32 #include "gpu/command_buffer/service/gl_context_virtual.h" |
| 33 #include "gpu/command_buffer/service/gpu_preferences.h" | 33 #include "gpu/command_buffer/service/gpu_preferences.h" |
| 34 #include "gpu/command_buffer/service/image_factory.h" | 34 #include "gpu/command_buffer/service/image_factory.h" |
| 35 #include "gpu/command_buffer/service/image_manager.h" | 35 #include "gpu/command_buffer/service/image_manager.h" |
| 36 #include "gpu/command_buffer/service/mailbox_manager.h" | 36 #include "gpu/command_buffer/service/mailbox_manager.h" |
| 37 #include "gpu/command_buffer/service/memory_program_cache.h" | 37 #include "gpu/command_buffer/service/memory_program_cache.h" |
| 38 #include "gpu/command_buffer/service/memory_tracking.h" | 38 #include "gpu/command_buffer/service/memory_tracking.h" |
| 39 #include "gpu/command_buffer/service/query_manager.h" | 39 #include "gpu/command_buffer/service/query_manager.h" |
| 40 #include "gpu/command_buffer/service/service_utils.h" |
| 40 #include "gpu/command_buffer/service/sync_point_manager.h" | 41 #include "gpu/command_buffer/service/sync_point_manager.h" |
| 41 #include "gpu/command_buffer/service/transfer_buffer_manager.h" | 42 #include "gpu/command_buffer/service/transfer_buffer_manager.h" |
| 42 #include "ui/gfx/geometry/size.h" | 43 #include "ui/gfx/geometry/size.h" |
| 43 #include "ui/gl/gl_context.h" | 44 #include "ui/gl/gl_context.h" |
| 44 #include "ui/gl/gl_image.h" | 45 #include "ui/gl/gl_image.h" |
| 45 #include "ui/gl/gl_image_shared_memory.h" | 46 #include "ui/gl/gl_image_shared_memory.h" |
| 46 #include "ui/gl/gl_share_group.h" | 47 #include "ui/gl/gl_share_group.h" |
| 47 #include "ui/gl/init/gl_factory.h" | 48 #include "ui/gl/init/gl_factory.h" |
| 48 | 49 |
| 49 #if defined(OS_WIN) | 50 #if defined(OS_WIN) |
| (...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 356 sync_point_order_data_, GetNamespaceID(), GetCommandBufferID()); | 357 sync_point_order_data_, GetNamespaceID(), GetCommandBufferID()); |
| 357 | 358 |
| 358 if (service_->UseVirtualizedGLContexts() || | 359 if (service_->UseVirtualizedGLContexts() || |
| 359 decoder_->GetContextGroup() | 360 decoder_->GetContextGroup() |
| 360 ->feature_info() | 361 ->feature_info() |
| 361 ->workarounds() | 362 ->workarounds() |
| 362 .use_virtualized_gl_contexts) { | 363 .use_virtualized_gl_contexts) { |
| 363 context_ = gl_share_group_->GetSharedContext(surface_.get()); | 364 context_ = gl_share_group_->GetSharedContext(surface_.get()); |
| 364 if (!context_.get()) { | 365 if (!context_.get()) { |
| 365 context_ = gl::init::CreateGLContext( | 366 context_ = gl::init::CreateGLContext( |
| 366 gl_share_group_.get(), surface_.get(), params.attribs.gpu_preference); | 367 gl_share_group_.get(), surface_.get(), |
| 368 GenerateGLContextAttribs( |
| 369 params.attribs, decoder_->GetContextGroup()->gpu_preferences())); |
| 367 gl_share_group_->SetSharedContext(surface_.get(), context_.get()); | 370 gl_share_group_->SetSharedContext(surface_.get(), context_.get()); |
| 368 } | 371 } |
| 369 | 372 |
| 370 context_ = new GLContextVirtual( | 373 context_ = new GLContextVirtual( |
| 371 gl_share_group_.get(), context_.get(), decoder_->AsWeakPtr()); | 374 gl_share_group_.get(), context_.get(), decoder_->AsWeakPtr()); |
| 372 if (context_->Initialize(surface_.get(), params.attribs.gpu_preference)) { | 375 if (context_->Initialize( |
| 376 surface_.get(), |
| 377 GenerateGLContextAttribs( |
| 378 params.attribs, |
| 379 decoder_->GetContextGroup()->gpu_preferences()))) { |
| 373 VLOG(1) << "Created virtual GL context."; | 380 VLOG(1) << "Created virtual GL context."; |
| 374 } else { | 381 } else { |
| 375 context_ = NULL; | 382 context_ = NULL; |
| 376 } | 383 } |
| 377 } else { | 384 } else { |
| 378 context_ = gl::init::CreateGLContext(gl_share_group_.get(), surface_.get(), | 385 context_ = gl::init::CreateGLContext( |
| 379 params.attribs.gpu_preference); | 386 gl_share_group_.get(), surface_.get(), |
| 387 GenerateGLContextAttribs( |
| 388 params.attribs, decoder_->GetContextGroup()->gpu_preferences())); |
| 380 } | 389 } |
| 381 | 390 |
| 382 if (!context_.get()) { | 391 if (!context_.get()) { |
| 383 LOG(ERROR) << "Could not create GLContext."; | 392 LOG(ERROR) << "Could not create GLContext."; |
| 384 DestroyOnGpuThread(); | 393 DestroyOnGpuThread(); |
| 385 return false; | 394 return false; |
| 386 } | 395 } |
| 387 | 396 |
| 388 if (!context_->MakeCurrent(surface_.get())) { | 397 if (!context_->MakeCurrent(surface_.get())) { |
| 389 LOG(ERROR) << "Could not make context current."; | 398 LOG(ERROR) << "Could not make context current."; |
| (...skipping 669 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1059 framebuffer_completeness_cache_ = | 1068 framebuffer_completeness_cache_ = |
| 1060 new gpu::gles2::FramebufferCompletenessCache; | 1069 new gpu::gles2::FramebufferCompletenessCache; |
| 1061 return framebuffer_completeness_cache_; | 1070 return framebuffer_completeness_cache_; |
| 1062 } | 1071 } |
| 1063 | 1072 |
| 1064 SyncPointManager* GpuInProcessThread::sync_point_manager() { | 1073 SyncPointManager* GpuInProcessThread::sync_point_manager() { |
| 1065 return sync_point_manager_; | 1074 return sync_point_manager_; |
| 1066 } | 1075 } |
| 1067 | 1076 |
| 1068 } // namespace gpu | 1077 } // namespace gpu |
| OLD | NEW |