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

Issue 756673 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Task



Sign in to add a comment

Improve confusing native GPU memory buffer flags on Chrome OS

Project Member Reported by derat@chromium.org, Aug 18 2017

Issue description

After https://crrev.com/c/612117, session_manager runs Chrome with --enable-native-gpu-memory-buffers if the native_gpu_memory_buffers USE flag is set and --disable-native-gpu-memory-buffers if it isn't.

After https://crrev.com/c/551365, Chrome has the following behavior:

- For x86 Chrome OS, it enables native buffers by default and disables them if --disable-native-gpu-memory-buffers was passed.

- For non-x86 Chrome OS, it disables native buffers by default and enables them if --enable-native-gpu-memory-buffers was passed.

This is way too complicated. Now we have --enable and --disable flags that are ignored in some cases and a USE flag that's set inconsistently. The logic to enable and disable features shouldn't be split across multiple places like this; it makes it very hard to figure out what's going on.

----

I think that we should instead use something like the following:

- Chrome should always disable native buffers by default for all Chrome OS devices and enable them only when the --enable flag is passed (i.e. revert https://crrev.com/c/551365).

- The native_gpu_memory_buffers USE flag should be set for all boards that support native buffers.

- session_manager should pass --enable-native-gpu-memory-buffers if the native_gpu_memory_buffers USE flag is set and never pass the --disable flag.

(If the eventual plan is to enable native buffers on all boards, then feel free to reverse the above logic: Chrome enables by default and checks --disable, the USE flag is set by default and unset on boards that don't support native buffers, and session manager passes --disable when the USE flag isn't set.)
 
1. make sure all Intel platforms have the USE flag defined -- only BYT is missing at this point (https://crrev.com/c/622157 pending).
2. revert https://crrev.com/c/551365.
3. revert https://crrev.com/c/612117.
Thanks.

Comment 2 by derat@chromium.org, Aug 18 2017

Sounds good. Thanks for cleaning this up!
1 - done.
2 - revert has been created but pending on the clarification with BYT.
Project Member

Comment 4 by bugdroid1@chromium.org, Aug 22 2017

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

commit b49de005434fb3a51905e35253c70fa1e0609cca
Author: YH Lin <yueherngl@chromium.org>
Date: Tue Aug 22 22:09:13 2017

Revert "cros, gbm: Enable native GMB on Intel."

This reverts commit 873c4f8c99332e31f4b8dc9911d2166ddc41dec6.

To make the settings more consistent across different architectures.
So that the flag can be applied in more consistent way.

BUG= chromium:756673 

Change-Id: Ie12a7c06b5ddcf1dd1f88c1f772cbd9b372c1ee1
Reviewed-on: https://chromium-review.googlesource.com/622029
Reviewed-by: Dan Erat <derat@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Reviewed-by: David Reveman <reveman@chromium.org>
Commit-Queue: YH Lin <yueherngl@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496465}
[modify] https://crrev.com/b49de005434fb3a51905e35253c70fa1e0609cca/gpu/ipc/host/gpu_memory_buffer_support.cc

RE: #3
 
Item 1 and 2 are done. Next is to revert https://crrev.com/c/551365 then we are done.

Thanks.
Status: Fixed (was: Assigned)
https://crrev.com/c/551365 has also been reverted.
Therefore mark the bug fixed. Please re-open if in need.

For BYT -- the USE flag is set individually, so we can revert https://crrev.com/c/622157 to disable the usage when needed.

Thanks.

Sign in to add a comment