New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 592435 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Email to this user bounced
Closed: Mar 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug-Regression



Sign in to add a comment

--disable-gpu is ignored if --skip-gpu-data-loading is used

Reported by rog...@opera.com, Mar 7 2016

Issue description

Version: 51.0.2671.0 (content_shell built locally)
OS: Linux

What steps will reproduce the problem?
1. ./content_shell --no-sandbox --disable-gpu --skip-gpu-data-loading chrome:gpu

What is the expected output? What do you see instead?
I expect hardware acceleration to be turned off, that is how it used to work, but now it is always enabled as long as --skip-gpu-data-loading is provided.

This is not an important regression, but since it is a change in behavior I want to highlight it. 


Please use labels and text to provide additional information.
This regressed when https://codereview.chromium.org/1547793004/ landed, more specifically due to the change made here: https://codereview.chromium.org/1547793004/diff/620001/content/browser/gpu/gpu_data_manager_impl_private.cc.

That change postpones GpuDataManagerImplPrivate::DisableHardwareAcceleration() until GpuDataManagerImplPrivate::InitializeImpl() is called. The problem is that GpuDataManagerImplPrivate::Initialize() earlies out if --skip-gpu-data-loading is provided. I.e. the postponed call to DisableHardwareAcceleration() is never performed because  GpuDataManagerImplPrivate is never initialized.
 

Comment 1 by zmo@chromium.org, Mar 7 2016

Owner: j.iso...@samsung.com
Status: Assigned (was: Untriaged)
Please take a look.
Thx for reporting the issue.
Please try the CL https://codereview.chromium.org/1773073003/ .

Worth to copy past the following from content_switches.cc :

---
// Skip gpu info collection, blacklist loading, and blacklist auto-update
// scheduling at browser startup time.
// Therefore, all GPU features are available, and about:gpu page shows empty
// content. The switch is intended only for layout tests.
// TODO(gab): Get rid of this switch entirely.
const char kSkipGpuDataLoading[]            = "skip-gpu-data-loading";
--

Especially: "Get rid of this switch entirely."

Also it is said: "about:gpu page shows empty" but for me it is not a white page but maybe what is meant is no gpu info ? Which is the case with the suggested fix.

Comment 3 by rog...@opera.com, Mar 8 2016

I can confirm that the CL above fixes the problem.
Project Member

Comment 4 by bugdroid1@chromium.org, Mar 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/67487fb9f97e4835d80fe1baa084a3cb97df7784

commit 67487fb9f97e4835d80fe1baa084a3cb97df7784
Author: j.isorce <j.isorce@samsung.com>
Date: Wed Mar 09 20:41:24 2016

Make sure to run post init tasks even if kSkipGpuDataLoading is set

Fixes regression introduced by https://codereview.chromium.org/1547793004/
which postpones call to GpuDataManagerImplPrivate::SetGLStrings() and
GpuDataManagerImplPrivate::DisableHardwareAcceleration() until
GpuDataManagerImplPrivate::Initialize() is called.

A solution is to call RunPostInitTasks() for any early return in
GpuDataManagerImplPrivate::Initialize().

R=zmo@chromium.org

BUG= 592435 

TEST=content_shell --no-sandbox --disable-gpu --skip-gpu-data-loading chrome:gpu

Review URL: https://codereview.chromium.org/1773073003

Cr-Commit-Position: refs/heads/master@{#380207}

[modify] https://crrev.com/67487fb9f97e4835d80fe1baa084a3cb97df7784/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/67487fb9f97e4835d80fe1baa084a3cb97df7784/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/67487fb9f97e4835d80fe1baa084a3cb97df7784/content/test/gpu/page_sets/gpu_process_tests.py

Status: Fixed (was: Assigned)

Sign in to add a comment