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

Issue 706016 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner: ----
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug



Sign in to add a comment

Investigate why Pixel_OffscreenCanvasUnaccelerated2DGPUCompositingWorker fail on Mac Nvirdia

Project Member Reported by xlai@chromium.org, Mar 28 2017

Issue description

Pixel_OffscreenCanvasUnaccelerated2DGPUCompositingWorker is failing to generate a correct image on Mac Nvirdia since the beginning.

V1: https://storage.googleapis.com/chromium-gpu-archive/reference-images/Pixel_OffscreenCanvasUnaccelerated2DGPUCompositingWorker_v1_mac_10de_0fe9_msaa.png

V2: https://storage.googleapis.com/chromium-gpu-archive/reference-images/Pixel_OffscreenCanvasUnaccelerated2DGPUCompositingWorker_v2_mac_10de_0fe9_msaa.png

v3: https://storage.googleapis.com/chromium-gpu-archive/reference-images/Pixel_OffscreenCanvasUnaccelerated2DGPUCompositingWorker_v3_mac_10de_0fe9_msaa.png

v4: https://storage.googleapis.com/chromium-gpu-archive/reference-images/Pixel_OffscreenCanvasUnaccelerated2DGPUCompositingWorker_v4_mac_10de_0fe9_msaa.png

v5: https://storage.googleapis.com/chromium-gpu-archive/reference-images/Pixel_OffscreenCanvasUnaccelerated2DGPUCompositingWorker_v5_mac_10de_0fe9_msaa.png

The images from v1 to v4 generally look like a rough texture (see attached image) whilst the image in v5, which is supposed to be a two canvases
with solid contents, shows a wide blank.

Currently this is marked as a failed entry in gpu pixel_expectations.py:
self.Fail('Pixel_OffscreenCanvasUnaccelerated2DGPUCompositingWorker',
              ['mac', ('nvidia', 0xfe9)], bug=652931)

The issue was assigned to crbug.com/652931 about device scale factor, which I seriously doubt if it's relevant, because:

1. This problem only happens on Worker and not on Main. The images generated on the same Mac machine on worker are fine.

2. There is another Mac machine that has a high-dpi scale and the images generated on that machine (https://storage.googleapis.com/chromium-gpu-archive/reference-images/Pixel_OffscreenCanvasUnaccelerated2DGPUCompositingWorker_v5_mac_1002_6821_msaa.png) never has a problem.

3. device-scale-factor problem should affect the size of the image, instead of completely blanking the image.


Pixel_OffscreenCanvasUnaccelerated2DGPUCompositingWorker is only running when --enable-gpu-compositing is true and --enable-accelerated-2d-canvas is false. In OffscreenCanvasFrameDispatcherImpl, we package the SkImage into a gl texture and commit the frame to browser in setTransferableResourceToSharedGPUContext.

+cc kbr@, zmo@, junov@, danakj@: Are you aware of any specialty of this particular Mac machine in gpu compositing?




 
Pixel_OffscreenCanvasUnaccelerated2DGPUCompositingWorker_v3_mac_10de_0fe9_msaa.png
180 KB View Download

Comment 1 by danakj@chromium.org, Mar 28 2017

Cc: ccameron@chromium.org
+ccameron is mac compositing expert

Comment 2 by kbr@chromium.org, Mar 29 2017

Sorry, I don't know. These machines used to be readily available at Google; are there any in your office you could test on locally?

Status: Available (was: Untriaged)
Project Member

Comment 4 by sheriffbot@chromium.org, Apr 11 2018

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 5 by kbr@chromium.org, Apr 11 2018

Labels: -Hotlist-Recharge-Cold
Status: Available (was: Untriaged)
Project Member

Comment 6 by bugdroid1@chromium.org, Apr 13 2018

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

commit 16ad333175b42977d1d6d7a4a7c29bf04607d927
Author: Kenneth Russell <kbr@chromium.org>
Date: Fri Apr 13 01:47:48 2018

Make collisions in text expectations fatal.

If two different test expectations for the same test apply on the
current browser configuration, fail hard. This has happened a couple
of times already in the pixel test expectations and it has led to
confusion.

Added verify_all_expectations_unittest which checks for collisions in
all of the GPU test expectations subclasses in this directory, taking
into account configurations on the waterfall. This is automatically
run during presubmit, along with all of the other GPU unittests, to
make life easier on developers.

Removed expectations for Pixel_CSS3DBlueBox, which should be passing
on macOS reliably now.

Bug:  533690 ,  706016 , 796558,  830228 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I64a604d38a4b21729cf0e5b969328d2b051bddbb
Reviewed-on: https://chromium-review.googlesource.com/1002032
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550464}
[modify] https://crrev.com/16ad333175b42977d1d6d7a4a7c29bf04607d927/content/test/gpu/gpu_tests/pixel_expectations.py
[modify] https://crrev.com/16ad333175b42977d1d6d7a4a7c29bf04607d927/content/test/gpu/gpu_tests/test_expectations.py
[add] https://crrev.com/16ad333175b42977d1d6d7a4a7c29bf04607d927/content/test/gpu/gpu_tests/verify_all_expectations_unittest.py
[modify] https://crrev.com/16ad333175b42977d1d6d7a4a7c29bf04607d927/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
[modify] https://crrev.com/16ad333175b42977d1d6d7a4a7c29bf04607d927/content/test/gpu/gpu_tests/webgl_conformance_expectations.py
[modify] https://crrev.com/16ad333175b42977d1d6d7a4a7c29bf04607d927/content/test/gpu/gpu_tests/webgl_conformance_expectations_unittest.py
[modify] https://crrev.com/16ad333175b42977d1d6d7a4a7c29bf04607d927/content/test/gpu/gpu_tests/webgl_conformance_integration_test.py
[add] https://crrev.com/16ad333175b42977d1d6d7a4a7c29bf04607d927/content/test/gpu/gpu_tests/webgl_test_util.py

Project Member

Comment 7 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/16ad333175b42977d1d6d7a4a7c29bf04607d927

commit 16ad333175b42977d1d6d7a4a7c29bf04607d927
Author: Kenneth Russell <kbr@chromium.org>
Date: Fri Apr 13 01:47:48 2018

Make collisions in text expectations fatal.

If two different test expectations for the same test apply on the
current browser configuration, fail hard. This has happened a couple
of times already in the pixel test expectations and it has led to
confusion.

Added verify_all_expectations_unittest which checks for collisions in
all of the GPU test expectations subclasses in this directory, taking
into account configurations on the waterfall. This is automatically
run during presubmit, along with all of the other GPU unittests, to
make life easier on developers.

Removed expectations for Pixel_CSS3DBlueBox, which should be passing
on macOS reliably now.

Bug:  533690 ,  706016 , 796558,  830228 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I64a604d38a4b21729cf0e5b969328d2b051bddbb
Reviewed-on: https://chromium-review.googlesource.com/1002032
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550464}
[modify] https://crrev.com/16ad333175b42977d1d6d7a4a7c29bf04607d927/content/test/gpu/gpu_tests/pixel_expectations.py
[modify] https://crrev.com/16ad333175b42977d1d6d7a4a7c29bf04607d927/content/test/gpu/gpu_tests/test_expectations.py
[add] https://crrev.com/16ad333175b42977d1d6d7a4a7c29bf04607d927/content/test/gpu/gpu_tests/verify_all_expectations_unittest.py
[modify] https://crrev.com/16ad333175b42977d1d6d7a4a7c29bf04607d927/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
[modify] https://crrev.com/16ad333175b42977d1d6d7a4a7c29bf04607d927/content/test/gpu/gpu_tests/webgl_conformance_expectations.py
[modify] https://crrev.com/16ad333175b42977d1d6d7a4a7c29bf04607d927/content/test/gpu/gpu_tests/webgl_conformance_expectations_unittest.py
[modify] https://crrev.com/16ad333175b42977d1d6d7a4a7c29bf04607d927/content/test/gpu/gpu_tests/webgl_conformance_integration_test.py
[add] https://crrev.com/16ad333175b42977d1d6d7a4a7c29bf04607d927/content/test/gpu/gpu_tests/webgl_test_util.py

Project Member

Comment 8 by bugdroid1@chromium.org, May 8 2018

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

commit c0f3c123ca7a54439b832bd8fc8e75e672835963
Author: xlai <xlai@chromium.org>
Date: Tue May 08 16:12:02 2018

Enable Pixel_OffscreenCanvasUnaccelerated2DGPUCompositingWorker on Mac

This test is tied to the implementation of OffscreenCanvas 2d commit() when
the image is not texture-backed whilst the gpu compositor is enabled. This
particular implementation has changed significantly recently:
https://chromium-review.googlesource.com/c/chromium/src/+/794108.
As a result, the test is now producing a correct image on the particular Mac
bot.
https://storage.googleapis.com/chromium-gpu-archive/reference-images/
Pixel_OffscreenCanvasUnaccelerated2DGPUCompositingWorker_v11_mac_10de_0fe9_msaa
.png

Time to enable the test.
BUG= 706016 

TBR=kbr@chromium.org

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I6bf87fb276f01a9194b7355b74206f43a7735a32
Reviewed-on: https://chromium-review.googlesource.com/1045138
Commit-Queue: Olivia Lai <xlai@chromium.org>
Reviewed-by: Olivia Lai <xlai@chromium.org>
Cr-Commit-Position: refs/heads/master@{#556815}
[modify] https://crrev.com/c0f3c123ca7a54439b832bd8fc8e75e672835963/content/test/gpu/gpu_tests/pixel_expectations.py

Comment 9 by xlai@chromium.org, May 11 2018

Status: Fixed (was: Available)
After checking both the Debug and Linux bots of Mac Retina Nvidia, this pixel test is doing fine after enabling it. The reference image is also right: https://storage.googleapis.com/chromium-gpu-archive/reference-images/Pixel_OffscreenCanvasUnaccelerated2DGPUCompositingWorker_v11_mac_10de_0fe9_msaa.png. Hence closing this bug.

Comment 10 by kbr@chromium.org, May 14 2018

Thanks for following up on this Olivia!

Sign in to add a comment