Investigate why Pixel_OffscreenCanvasUnaccelerated2DGPUCompositingWorker fail on Mac Nvirdia |
||||||
Issue descriptionPixel_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?
,
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?
,
Apr 11 2017
,
Apr 11 2018
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
,
Apr 11 2018
,
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
,
Apr 17 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
,
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
,
May 11 2018
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.
,
May 14 2018
Thanks for following up on this Olivia! |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by danakj@chromium.org
, Mar 28 2017