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 |