| 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 "gpu/ipc/service/gpu_command_buffer_stub.h" | 5 #include "gpu/ipc/service/gpu_command_buffer_stub.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 #include "gpu/command_buffer/common/sync_token.h" | 22 #include "gpu/command_buffer/common/sync_token.h" |
| 23 #include "gpu/command_buffer/service/gl_context_virtual.h" | 23 #include "gpu/command_buffer/service/gl_context_virtual.h" |
| 24 #include "gpu/command_buffer/service/gl_state_restorer_impl.h" | 24 #include "gpu/command_buffer/service/gl_state_restorer_impl.h" |
| 25 #include "gpu/command_buffer/service/image_manager.h" | 25 #include "gpu/command_buffer/service/image_manager.h" |
| 26 #include "gpu/command_buffer/service/logger.h" | 26 #include "gpu/command_buffer/service/logger.h" |
| 27 #include "gpu/command_buffer/service/mailbox_manager.h" | 27 #include "gpu/command_buffer/service/mailbox_manager.h" |
| 28 #include "gpu/command_buffer/service/memory_tracking.h" | 28 #include "gpu/command_buffer/service/memory_tracking.h" |
| 29 #include "gpu/command_buffer/service/query_manager.h" | 29 #include "gpu/command_buffer/service/query_manager.h" |
| 30 #include "gpu/command_buffer/service/sync_point_manager.h" | 30 #include "gpu/command_buffer/service/sync_point_manager.h" |
| 31 #include "gpu/command_buffer/service/transfer_buffer_manager.h" | 31 #include "gpu/command_buffer/service/transfer_buffer_manager.h" |
| 32 #include "gpu/command_buffer/service/valuebuffer_manager.h" | |
| 33 #include "gpu/ipc/common/gpu_messages.h" | 32 #include "gpu/ipc/common/gpu_messages.h" |
| 34 #include "gpu/ipc/service/gpu_channel.h" | 33 #include "gpu/ipc/service/gpu_channel.h" |
| 35 #include "gpu/ipc/service/gpu_channel_manager.h" | 34 #include "gpu/ipc/service/gpu_channel_manager.h" |
| 36 #include "gpu/ipc/service/gpu_channel_manager_delegate.h" | 35 #include "gpu/ipc/service/gpu_channel_manager_delegate.h" |
| 37 #include "gpu/ipc/service/gpu_memory_manager.h" | 36 #include "gpu/ipc/service/gpu_memory_manager.h" |
| 38 #include "gpu/ipc/service/gpu_memory_tracking.h" | 37 #include "gpu/ipc/service/gpu_memory_tracking.h" |
| 39 #include "gpu/ipc/service/gpu_watchdog.h" | 38 #include "gpu/ipc/service/gpu_watchdog.h" |
| 40 #include "gpu/ipc/service/image_transport_surface.h" | 39 #include "gpu/ipc/service/image_transport_surface.h" |
| 41 #include "ui/gl/gl_bindings.h" | 40 #include "ui/gl/gl_bindings.h" |
| 42 #include "ui/gl/gl_image.h" | 41 #include "ui/gl/gl_image.h" |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 } // namespace | 162 } // namespace |
| 164 | 163 |
| 165 GpuCommandBufferStub::GpuCommandBufferStub( | 164 GpuCommandBufferStub::GpuCommandBufferStub( |
| 166 GpuChannel* channel, | 165 GpuChannel* channel, |
| 167 SyncPointManager* sync_point_manager, | 166 SyncPointManager* sync_point_manager, |
| 168 base::SingleThreadTaskRunner* task_runner, | 167 base::SingleThreadTaskRunner* task_runner, |
| 169 GpuCommandBufferStub* share_group, | 168 GpuCommandBufferStub* share_group, |
| 170 SurfaceHandle surface_handle, | 169 SurfaceHandle surface_handle, |
| 171 gles2::MailboxManager* mailbox_manager, | 170 gles2::MailboxManager* mailbox_manager, |
| 172 PreemptionFlag* preempt_by_flag, | 171 PreemptionFlag* preempt_by_flag, |
| 173 gles2::SubscriptionRefSet* subscription_ref_set, | |
| 174 ValueStateMap* pending_valuebuffer_state, | |
| 175 const gfx::Size& size, | 172 const gfx::Size& size, |
| 176 const gles2::DisallowedFeatures& disallowed_features, | 173 const gles2::DisallowedFeatures& disallowed_features, |
| 177 const std::vector<int32_t>& attribs, | 174 const std::vector<int32_t>& attribs, |
| 178 gfx::GpuPreference gpu_preference, | 175 gfx::GpuPreference gpu_preference, |
| 179 int32_t stream_id, | 176 int32_t stream_id, |
| 180 int32_t route_id, | 177 int32_t route_id, |
| 181 GpuWatchdog* watchdog, | 178 GpuWatchdog* watchdog, |
| 182 const GURL& active_url) | 179 const GURL& active_url) |
| 183 : channel_(channel), | 180 : channel_(channel), |
| 184 sync_point_manager_(sync_point_manager), | 181 sync_point_manager_(sync_point_manager), |
| (...skipping 27 matching lines...) Expand all Loading... |
| 212 attrib_parser.bind_generates_resource); | 209 attrib_parser.bind_generates_resource); |
| 213 } else { | 210 } else { |
| 214 scoped_refptr<gles2::FeatureInfo> feature_info = new gles2::FeatureInfo( | 211 scoped_refptr<gles2::FeatureInfo> feature_info = new gles2::FeatureInfo( |
| 215 channel_->gpu_channel_manager()->gpu_driver_bug_workarounds()); | 212 channel_->gpu_channel_manager()->gpu_driver_bug_workarounds()); |
| 216 context_group_ = new gles2::ContextGroup( | 213 context_group_ = new gles2::ContextGroup( |
| 217 channel_->gpu_channel_manager()->gpu_preferences(), mailbox_manager, | 214 channel_->gpu_channel_manager()->gpu_preferences(), mailbox_manager, |
| 218 new GpuCommandBufferMemoryTracker(channel, | 215 new GpuCommandBufferMemoryTracker(channel, |
| 219 command_buffer_id_.GetUnsafeValue()), | 216 command_buffer_id_.GetUnsafeValue()), |
| 220 channel_->gpu_channel_manager()->shader_translator_cache(), | 217 channel_->gpu_channel_manager()->shader_translator_cache(), |
| 221 channel_->gpu_channel_manager()->framebuffer_completeness_cache(), | 218 channel_->gpu_channel_manager()->framebuffer_completeness_cache(), |
| 222 feature_info, subscription_ref_set, pending_valuebuffer_state, | 219 feature_info, attrib_parser.bind_generates_resource); |
| 223 attrib_parser.bind_generates_resource); | |
| 224 } | 220 } |
| 225 | 221 |
| 226 // Virtualize PreferIntegratedGpu contexts by default on OS X to prevent | 222 // Virtualize PreferIntegratedGpu contexts by default on OS X to prevent |
| 227 // performance regressions when enabling FCM. | 223 // performance regressions when enabling FCM. |
| 228 // http://crbug.com/180463 | 224 // http://crbug.com/180463 |
| 229 #if defined(OS_MACOSX) | 225 #if defined(OS_MACOSX) |
| 230 if (gpu_preference_ == gfx::PreferIntegratedGpu) | 226 if (gpu_preference_ == gfx::PreferIntegratedGpu) |
| 231 use_virtualized_gl_context_ = true; | 227 use_virtualized_gl_context_ = true; |
| 232 #endif | 228 #endif |
| 233 | 229 |
| (...skipping 896 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1130 result)); | 1126 result)); |
| 1131 } | 1127 } |
| 1132 | 1128 |
| 1133 void GpuCommandBufferStub::SendUpdateVSyncParameters(base::TimeTicks timebase, | 1129 void GpuCommandBufferStub::SendUpdateVSyncParameters(base::TimeTicks timebase, |
| 1134 base::TimeDelta interval) { | 1130 base::TimeDelta interval) { |
| 1135 Send(new GpuCommandBufferMsg_UpdateVSyncParameters(route_id_, timebase, | 1131 Send(new GpuCommandBufferMsg_UpdateVSyncParameters(route_id_, timebase, |
| 1136 interval)); | 1132 interval)); |
| 1137 } | 1133 } |
| 1138 | 1134 |
| 1139 } // namespace gpu | 1135 } // namespace gpu |
| OLD | NEW |