New issue
Advanced search Search tips

Issue 906171 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 10
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Everything is black in multi-process mash on device

Project Member Reported by mohsen@google.com, Nov 16

Issue description

Since r606210 multi-process mash renders everything on my Pixelbook device black with lots of errors like:

  GL ERROR :GL_INVALID_OPERATION : glBindTexture: texture bound to more than 1 target.
  GL ERROR :GL_INVALID_OPERATION : glDrawElements: Source and destination textures of the draw are the same.

I had discussed this with piman@ and the issue seems to be that in multi-process mash, GPU does not receive GpuPreferences, specifically texture_target_exception_list field.

In single-process mash and non-mash cases, when GPU is run as a standalone process, GpuPreferences is passed to it via command line flags.
 
Labels: -Pri-3 Proj-Mash-MultiProcess OS-Chrome Pri-2
Status: Started (was: Assigned)
There was a desktopui_MashLogin test failure that hit a lot of similar errors:
https://cros-goldeneye.corp.google.com/chromeos/healthmonitoring/buildDetails?buildbucketId=8928159387405820432
See chrome_20181203-075811 here: https://stainless.corp.google.com/browse/chromeos-autotest-results/263252717-chromeos-test/

Sample error logs:
[ash:27220:27226:1203/075813.159159:ERROR:gles2_cmd_decoder.cc(6334)] [GroupMarkerNotSet( crbug.com/242999 )!:A855F966E70D0000]GL ERROR :GL_INVALID_OPERATION : glBindTexture: texture bound to more than 1 target.
[ash:27220:27226:1203/075813.159217:ERROR:gles2_cmd_decoder.cc(10454)] [GroupMarkerNotSet( crbug.com/242999 )!:A855F966E70D0000]GL ERROR :GL_INVALID_OPERATION : glDrawElements: Source and destination textures of the draw are the same.
[ash:27220:27226:1203/075813.167755:ERROR:gles2_cmd_decoder.cc(10303)] [GroupMarkerNotSet( crbug.com/242999 )!:A855F966E70D0000]RENDER WARNING: there is no texture bound to the unit 1
Project Member

Comment 4 by bugdroid1@chromium.org, Dec 5

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

commit b6ef3ba2a3c1ac18be9b01caff6d2acdf78cca55
Author: Mohsen Izadi <mohsen@chromium.org>
Date: Wed Dec 05 23:27:41 2018

Pass GpuPreferences to in-process GPU in Mash

GPU service uses GpuPreferences::texture_target_exception_list when
allocating memory buffers for clients. This info needs to be passed to
GPU when it is initialized. Currently, this is not happening in
Multi-Process Mash. This CL passes in this information for in-process
GPU mode which is currently the default mode in Multi-Process Mash.

BUG= 906171 

Change-Id: I58616db0cba949c3aad8e850aec2c4a8651bab6d
Reviewed-on: https://chromium-review.googlesource.com/c/1342940
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Mohsen Izadi <mohsen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614171}
[modify] https://crrev.com/b6ef3ba2a3c1ac18be9b01caff6d2acdf78cca55/components/viz/service/main/BUILD.gn
[modify] https://crrev.com/b6ef3ba2a3c1ac18be9b01caff6d2acdf78cca55/components/viz/service/main/viz_main_impl.cc
[modify] https://crrev.com/b6ef3ba2a3c1ac18be9b01caff6d2acdf78cca55/components/viz/service/main/viz_main_impl.h
[modify] https://crrev.com/b6ef3ba2a3c1ac18be9b01caff6d2acdf78cca55/services/viz/DEPS
[modify] https://crrev.com/b6ef3ba2a3c1ac18be9b01caff6d2acdf78cca55/services/viz/service.cc
[modify] https://crrev.com/b6ef3ba2a3c1ac18be9b01caff6d2acdf78cca55/services/viz/service.h
[modify] https://crrev.com/b6ef3ba2a3c1ac18be9b01caff6d2acdf78cca55/services/ws/gpu_host/BUILD.gn
[modify] https://crrev.com/b6ef3ba2a3c1ac18be9b01caff6d2acdf78cca55/services/ws/gpu_host/DEPS
[modify] https://crrev.com/b6ef3ba2a3c1ac18be9b01caff6d2acdf78cca55/services/ws/gpu_host/gpu_host.cc
[modify] https://crrev.com/b6ef3ba2a3c1ac18be9b01caff6d2acdf78cca55/services/ws/gpu_host/gpu_host.h
[modify] https://crrev.com/b6ef3ba2a3c1ac18be9b01caff6d2acdf78cca55/services/ws/gpu_host/gpu_host_unittest.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Dec 7

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

commit 6a6476b7e75b45046297564825d5464f61c759cc
Author: Mohsen Izadi <mohsen@chromium.org>
Date: Fri Dec 07 04:34:35 2018

Pass GpuPreferences to Viz process in Mash

This CL passes GpuPreferences as command line arguments to the Viz
process when it is launched.

BUG= 906171 

Change-Id: Iaa4be301dc20f2c2055de4736e70288d21b32554
Reviewed-on: https://chromium-review.googlesource.com/c/1343525
Commit-Queue: Mohsen Izadi <mohsen@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614588}
[modify] https://crrev.com/6a6476b7e75b45046297564825d5464f61c759cc/chrome/browser/DEPS
[modify] https://crrev.com/6a6476b7e75b45046297564825d5464f61c759cc/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/6a6476b7e75b45046297564825d5464f61c759cc/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/6a6476b7e75b45046297564825d5464f61c759cc/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/6a6476b7e75b45046297564825d5464f61c759cc/content/public/browser/gpu_data_manager.h

Status: Fixed (was: Started)

Sign in to add a comment