Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(451)

Side by Side Diff: gpu/ipc/service/gpu_channel.cc

Issue 2814583002: Service/ClientDiscardableManager (Closed)
Patch Set: rebase Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gpu/ipc/service/gpu_channel.h ('k') | gpu/ipc/service/gpu_channel_manager.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_channel.h" 5 #include "gpu/ipc/service/gpu_channel.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #if defined(OS_WIN) 9 #if defined(OS_WIN)
10 #include <windows.h> 10 #include <windows.h>
(...skipping 740 matching lines...) Expand 10 before | Expand all | Expand 10 after
751 channel_->RemoveFilter(filter); 751 channel_->RemoveFilter(filter);
752 } 752 }
753 753
754 GpuChannel::GpuChannel( 754 GpuChannel::GpuChannel(
755 GpuChannelManager* gpu_channel_manager, 755 GpuChannelManager* gpu_channel_manager,
756 Scheduler* scheduler, 756 Scheduler* scheduler,
757 SyncPointManager* sync_point_manager, 757 SyncPointManager* sync_point_manager,
758 GpuWatchdogThread* watchdog, 758 GpuWatchdogThread* watchdog,
759 scoped_refptr<gl::GLShareGroup> share_group, 759 scoped_refptr<gl::GLShareGroup> share_group,
760 scoped_refptr<gles2::MailboxManager> mailbox_manager, 760 scoped_refptr<gles2::MailboxManager> mailbox_manager,
761 ServiceDiscardableManager* discardable_manager,
761 scoped_refptr<PreemptionFlag> preempting_flag, 762 scoped_refptr<PreemptionFlag> preempting_flag,
762 scoped_refptr<PreemptionFlag> preempted_flag, 763 scoped_refptr<PreemptionFlag> preempted_flag,
763 scoped_refptr<base::SingleThreadTaskRunner> task_runner, 764 scoped_refptr<base::SingleThreadTaskRunner> task_runner,
764 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner, 765 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner,
765 int32_t client_id, 766 int32_t client_id,
766 uint64_t client_tracing_id, 767 uint64_t client_tracing_id,
767 bool is_gpu_host) 768 bool is_gpu_host)
768 : gpu_channel_manager_(gpu_channel_manager), 769 : gpu_channel_manager_(gpu_channel_manager),
769 scheduler_(scheduler), 770 scheduler_(scheduler),
770 sync_point_manager_(sync_point_manager), 771 sync_point_manager_(sync_point_manager),
771 preempting_flag_(preempting_flag), 772 preempting_flag_(preempting_flag),
772 preempted_flag_(preempted_flag), 773 preempted_flag_(preempted_flag),
773 client_id_(client_id), 774 client_id_(client_id),
774 client_tracing_id_(client_tracing_id), 775 client_tracing_id_(client_tracing_id),
775 task_runner_(task_runner), 776 task_runner_(task_runner),
776 io_task_runner_(io_task_runner), 777 io_task_runner_(io_task_runner),
777 share_group_(share_group), 778 share_group_(share_group),
778 mailbox_manager_(mailbox_manager), 779 mailbox_manager_(mailbox_manager),
779 watchdog_(watchdog), 780 watchdog_(watchdog),
781 discardable_manager_(std::move(discardable_manager)),
780 is_gpu_host_(is_gpu_host), 782 is_gpu_host_(is_gpu_host),
781 weak_factory_(this) { 783 weak_factory_(this) {
782 DCHECK(gpu_channel_manager_); 784 DCHECK(gpu_channel_manager_);
783 DCHECK(client_id_); 785 DCHECK(client_id_);
786 DCHECK(discardable_manager_);
784 787
785 if (!scheduler_) { 788 if (!scheduler_) {
786 message_queue_ = new GpuChannelMessageQueue( 789 message_queue_ = new GpuChannelMessageQueue(
787 this, sync_point_manager->CreateSyncPointOrderData(), task_runner, 790 this, sync_point_manager->CreateSyncPointOrderData(), task_runner,
788 io_task_runner, preempting_flag, preempted_flag); 791 io_task_runner, preempting_flag, preempted_flag);
789 } 792 }
790 793
791 filter_ = 794 filter_ =
792 new GpuChannelMessageFilter(this, scheduler, message_queue_, task_runner); 795 new GpuChannelMessageFilter(this, scheduler, message_queue_, task_runner);
793 } 796 }
(...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after
1191 1194
1192 return manager->gpu_memory_buffer_factory() 1195 return manager->gpu_memory_buffer_factory()
1193 ->AsImageFactory() 1196 ->AsImageFactory()
1194 ->CreateImageForGpuMemoryBuffer(handle, size, format, internalformat, 1197 ->CreateImageForGpuMemoryBuffer(handle, size, format, internalformat,
1195 client_id_, surface_handle); 1198 client_id_, surface_handle);
1196 } 1199 }
1197 } 1200 }
1198 } 1201 }
1199 1202
1200 } // namespace gpu 1203 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/ipc/service/gpu_channel.h ('k') | gpu/ipc/service/gpu_channel_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698