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

Unified Diff: content/gpu/gpu_child_thread.cc

Issue 2654993004: Move GPU blacklist calculation to GPU proc (Closed)
Patch Set: Feedback + add rest of logic back in Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: content/gpu/gpu_child_thread.cc
diff --git a/content/gpu/gpu_child_thread.cc b/content/gpu/gpu_child_thread.cc
index f392f2766a19867651855f2f04792b74e076e6a3..1d88786980142fc1b1dfb1888cdd13ac77c89279 100644
--- a/content/gpu/gpu_child_thread.cc
+++ b/content/gpu/gpu_child_thread.cc
@@ -147,6 +147,7 @@ GpuChildThread::GpuChildThread(
std::unique_ptr<gpu::GpuWatchdogThread> watchdog_thread,
bool dead_on_arrival,
const gpu::GPUInfo& gpu_info,
+ const gpu::GpuFeatureInfo& gpu_feature_info,
const DeferredMessages& deferred_messages,
gpu::GpuMemoryBufferFactory* gpu_memory_buffer_factory)
: ChildThreadImpl(GetOptions(gpu_memory_buffer_factory)),
@@ -154,11 +155,11 @@ GpuChildThread::GpuChildThread(
gpu_info_(gpu_info),
deferred_messages_(deferred_messages),
in_browser_process_(false),
- gpu_service_(
- new ui::GpuService(gpu_info,
- std::move(watchdog_thread),
- gpu_memory_buffer_factory,
- ChildProcess::current()->io_task_runner())),
+ gpu_service_(new ui::GpuService(gpu_info,
+ std::move(watchdog_thread),
+ gpu_memory_buffer_factory,
+ ChildProcess::current()->io_task_runner(),
+ gpu_feature_info)),
gpu_main_binding_(this) {
#if defined(OS_WIN)
target_services_ = NULL;
@@ -169,6 +170,7 @@ GpuChildThread::GpuChildThread(
GpuChildThread::GpuChildThread(
const InProcessChildThreadParams& params,
const gpu::GPUInfo& gpu_info,
+ const gpu::GpuFeatureInfo& gpu_feature_info,
gpu::GpuMemoryBufferFactory* gpu_memory_buffer_factory)
: ChildThreadImpl(ChildThreadImpl::Options::Builder()
.InBrowserProcess(params)
@@ -179,11 +181,11 @@ GpuChildThread::GpuChildThread(
dead_on_arrival_(false),
gpu_info_(gpu_info),
in_browser_process_(true),
- gpu_service_(
- new ui::GpuService(gpu_info,
- nullptr /* watchdog thread */,
- gpu_memory_buffer_factory,
- ChildProcess::current()->io_task_runner())),
+ gpu_service_(new ui::GpuService(gpu_info,
+ nullptr /* watchdog thread */,
+ gpu_memory_buffer_factory,
+ ChildProcess::current()->io_task_runner(),
+ gpu_feature_info)),
gpu_main_binding_(this) {
#if defined(OS_WIN)
target_services_ = NULL;
@@ -307,7 +309,8 @@ void GpuChildThread::CreateGpuService(
// Record initialization only after collecting the GPU info because that can
// take a significant amount of time.
gpu_info_.initialization_time = base::Time::Now() - process_start_time_;
- Send(new GpuHostMsg_Initialized(!dead_on_arrival_, gpu_info_));
+ Send(new GpuHostMsg_Initialized(!dead_on_arrival_, gpu_info_,
+ gpu_service_->gpu_feature_info()));
while (!deferred_messages_.empty()) {
const LogMessage& log = deferred_messages_.front();
Send(new GpuHostMsg_OnLogMessage(log.severity, log.header, log.message));

Powered by Google App Engine
This is Rietveld 408576698