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