| 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 "components/mus/gles2/command_buffer_driver.h" | 5 #include "components/mus/gles2/command_buffer_driver.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 gpu_state_->share_group(), surface_.get(), gfx::PreferIntegratedGpu); | 122 gpu_state_->share_group(), surface_.get(), gfx::PreferIntegratedGpu); |
| 123 if (!context_.get()) | 123 if (!context_.get()) |
| 124 return false; | 124 return false; |
| 125 | 125 |
| 126 if (!context_->MakeCurrent(surface_.get())) | 126 if (!context_->MakeCurrent(surface_.get())) |
| 127 return false; | 127 return false; |
| 128 | 128 |
| 129 // TODO(piman): ShaderTranslatorCache is currently per-ContextGroup but | 129 // TODO(piman): ShaderTranslatorCache is currently per-ContextGroup but |
| 130 // only needs to be per-thread. | 130 // only needs to be per-thread. |
| 131 const bool bind_generates_resource = attrib_helper.bind_generates_resource; | 131 const bool bind_generates_resource = attrib_helper.bind_generates_resource; |
| 132 scoped_refptr<gpu::gles2::FeatureInfo> feature_info = |
| 133 new gpu::gles2::FeatureInfo(gpu_state_->gpu_driver_bug_workarounds()); |
| 132 scoped_refptr<gpu::gles2::ContextGroup> context_group = | 134 scoped_refptr<gpu::gles2::ContextGroup> context_group = |
| 133 new gpu::gles2::ContextGroup( | 135 new gpu::gles2::ContextGroup( |
| 134 gpu_state_->gpu_preferences(), gpu_state_->mailbox_manager(), | 136 gpu_state_->gpu_preferences(), gpu_state_->mailbox_manager(), |
| 135 new GpuMemoryTracker, | 137 new GpuMemoryTracker, |
| 136 new gpu::gles2::ShaderTranslatorCache(gpu_state_->gpu_preferences()), | 138 new gpu::gles2::ShaderTranslatorCache(gpu_state_->gpu_preferences()), |
| 137 new gpu::gles2::FramebufferCompletenessCache, nullptr, nullptr, | 139 new gpu::gles2::FramebufferCompletenessCache, feature_info, nullptr, |
| 138 nullptr, bind_generates_resource); | 140 nullptr, bind_generates_resource); |
| 139 | 141 |
| 140 command_buffer_.reset( | 142 command_buffer_.reset( |
| 141 new gpu::CommandBufferService(context_group->transfer_buffer_manager())); | 143 new gpu::CommandBufferService(context_group->transfer_buffer_manager())); |
| 142 bool result = command_buffer_->Initialize(); | 144 bool result = command_buffer_->Initialize(); |
| 143 DCHECK(result); | 145 DCHECK(result); |
| 144 | 146 |
| 145 decoder_.reset(::gpu::gles2::GLES2Decoder::Create(context_group.get())); | 147 decoder_.reset(::gpu::gles2::GLES2Decoder::Create(context_group.get())); |
| 146 executor_.reset(new gpu::CommandExecutor(command_buffer_.get(), | 148 executor_.reset(new gpu::CommandExecutor(command_buffer_.get(), |
| 147 decoder_.get(), decoder_.get())); | 149 decoder_.get(), decoder_.get())); |
| (...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 543 } | 545 } |
| 544 | 546 |
| 545 void CommandBufferDriver::OnGpuCompletedSwapBuffers(gfx::SwapResult result) { | 547 void CommandBufferDriver::OnGpuCompletedSwapBuffers(gfx::SwapResult result) { |
| 546 DCHECK(CalledOnValidThread()); | 548 DCHECK(CalledOnValidThread()); |
| 547 if (client_) { | 549 if (client_) { |
| 548 client_->OnGpuCompletedSwapBuffers(result); | 550 client_->OnGpuCompletedSwapBuffers(result); |
| 549 } | 551 } |
| 550 } | 552 } |
| 551 | 553 |
| 552 } // namespace mus | 554 } // namespace mus |
| OLD | NEW |