Certain types of loops in WebGL shaders cause GLSL compiler crashes on Adreno
Reported by
oetu...@nvidia.com,
Nov 14 2017
|
|||||
Issue descriptionChrome Version: (copy from chrome://version) OS: (e.g. Win7, OSX 10.9.5, etc...) What steps will reproduce the problem? (1) Enable ANGLE patch https://chromium-review.googlesource.com/c/angle/angle/+/707195 that uses for loops to initialize variables. Run WebGL conformance on Android on Qualcomm Adreno 418 GPU. What is the expected result? WebGL conformance passes What happens instead? WebGL conformance test gpu_tests.webgl_conformance_integration_test.WebGLConformanceIntegrationTest.WebglConformance_deqp_data_gles2_shaders_functions fails. The failure could still be isolated better to a specific kind of a shader - the problem likely exists in some form without the ANGLE patch as well.
,
Nov 18 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f9d1bf632952f7c909121b63b3b61183de7a8d53 commit f9d1bf632952f7c909121b63b3b61183de7a8d53 Author: Kenneth Russell <kbr@chromium.org> Date: Sat Nov 18 02:00:55 2017 Roll WebGL 12192b9..e4919fa https://chromium.googlesource.com/external/khronosgroup/webgl.git/+log/12192b9..e4919fa BUG= 775202 , 778770 , 784817 TEST=bots TBR=zmo@chromium.org, kainino@chromium.org NOTRY=true CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: I296437377a0d5084f2ede5f50d6b6519436bc62f Reviewed-on: https://chromium-review.googlesource.com/773625 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Cr-Commit-Position: refs/heads/master@{#517678} [modify] https://crrev.com/f9d1bf632952f7c909121b63b3b61183de7a8d53/DEPS [modify] https://crrev.com/f9d1bf632952f7c909121b63b3b61183de7a8d53/content/test/gpu/gpu_tests/webgl_conformance_expectations.py [modify] https://crrev.com/f9d1bf632952f7c909121b63b3b61183de7a8d53/content/test/gpu/gpu_tests/webgl_conformance_revision.txt
,
Nov 21 2017
The reduced conformance test glsl/bugs/init-array-with-loop.html fails on NVIDIA's macOS driver, too, per Issue 786717 : https://ci.chromium.org/buildbot/chromium.gpu.fyi/Mac%20Retina%20Release%20%28NVIDIA%29/6169 https://chromium-swarm.appspot.com/task?id=39e6113fa275c510&refresh=10&show_raw=1 [59/136] gpu_tests.webgl_conformance_integration_test.WebGLConformanceIntegrationTest.WebglConformance_conformance_glsl_bugs_init_array_with_loop failed unexpectedly 3.6268s: Traceback (most recent call last): _RunGpuTest at content/test/gpu/gpu_tests/gpu_integration_test.py:132 self.RunActualGpuTest(url, *args) RunActualGpuTest at content/test/gpu/gpu_tests/webgl_conformance_integration_test.py:203 getattr(self, test_name)(test_path, *args[1:]) _RunConformanceTest at content/test/gpu/gpu_tests/webgl_conformance_integration_test.py:217 self._CheckTestCompletion() _CheckTestCompletion at content/test/gpu/gpu_tests/webgl_conformance_integration_test.py:213 self.fail(self._WebGLTestMessages(self.tab)) fail at /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/case.py:412 raise self.failureException(msg) AssertionError: should be green at (0, 0) expected: 0,255,0,255 was 255,0,0,255 FAIL should be green at (0, 0) expected: 0,255,0,255 was 255,0,0,255 Updating the suppression.
,
Nov 21 2017
,
Nov 21 2017
,
Nov 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3b7911b65b0d70164ed9b88ec22a9a455fa649b7 commit 3b7911b65b0d70164ed9b88ec22a9a455fa649b7 Author: Kenneth Russell <kbr@chromium.org> Date: Tue Nov 21 20:04:16 2017 Add workaround for reallocating depth-stencil renderbuffers. When needed, during reallocation of a depth-stencil renderbuffer, create a new object and point all existing framebuffer objects to it. Apply this workaround on NVIDIA GPUs on macOS 10.13 and later. This works around an apparent bug in the graphics driver introduced in this release. This is a slight expansion of the earlier multisample_renderbuffer_resize_emulation workaround. Remove associated failure expectations. Also update the bug ID in the conformance expectations for a workaround applying to the same platform. BUG= 775202 , 786717 , 784817 Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: I051009b17df1cb5dabe1b00fbdcc35008042eee9 Reviewed-on: https://chromium-review.googlesource.com/780211 Reviewed-by: Kai Ninomiya <kainino@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> Cr-Commit-Position: refs/heads/master@{#518348} [modify] https://crrev.com/3b7911b65b0d70164ed9b88ec22a9a455fa649b7/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py [modify] https://crrev.com/3b7911b65b0d70164ed9b88ec22a9a455fa649b7/content/test/gpu/gpu_tests/webgl_conformance_expectations.py [modify] https://crrev.com/3b7911b65b0d70164ed9b88ec22a9a455fa649b7/gpu/command_buffer/service/gles2_cmd_decoder.cc [modify] https://crrev.com/3b7911b65b0d70164ed9b88ec22a9a455fa649b7/gpu/command_buffer/service/renderbuffer_manager.cc [modify] https://crrev.com/3b7911b65b0d70164ed9b88ec22a9a455fa649b7/gpu/command_buffer/service/renderbuffer_manager.h [modify] https://crrev.com/3b7911b65b0d70164ed9b88ec22a9a455fa649b7/gpu/config/gpu_driver_bug_list.json [modify] https://crrev.com/3b7911b65b0d70164ed9b88ec22a9a455fa649b7/gpu/config/gpu_driver_bug_workaround_type.h
,
Nov 28 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/23a5326c8ae2d90654faeda8cbd7225b08ed3412 commit 23a5326c8ae2d90654faeda8cbd7225b08ed3412 Author: Kenneth Russell <kbr@chromium.org> Date: Tue Nov 28 19:03:46 2017 Add workaround for reallocating depth-stencil renderbuffers. When needed, during reallocation of a depth-stencil renderbuffer, create a new object and point all existing framebuffer objects to it. Apply this workaround on NVIDIA GPUs on macOS 10.13 and later. This works around an apparent bug in the graphics driver introduced in this release. This is a slight expansion of the earlier multisample_renderbuffer_resize_emulation workaround. Remove associated failure expectations. Also update the bug ID in the conformance expectations for a workaround applying to the same platform. BUG= 775202 , 786717 , 784817 TBR=kbr@chromium.org (cherry picked from commit 3b7911b65b0d70164ed9b88ec22a9a455fa649b7) Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: I051009b17df1cb5dabe1b00fbdcc35008042eee9 Reviewed-on: https://chromium-review.googlesource.com/780211 Reviewed-by: Kai Ninomiya <kainino@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#518348} Reviewed-on: https://chromium-review.googlesource.com/794024 Reviewed-by: Kenneth Russell <kbr@chromium.org> Cr-Commit-Position: refs/branch-heads/3239@{#584} Cr-Branched-From: adb61db19020ed8ecee5e91b1a0ea4c924ae2988-refs/heads/master@{#508578} [modify] https://crrev.com/23a5326c8ae2d90654faeda8cbd7225b08ed3412/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py [modify] https://crrev.com/23a5326c8ae2d90654faeda8cbd7225b08ed3412/content/test/gpu/gpu_tests/webgl_conformance_expectations.py [modify] https://crrev.com/23a5326c8ae2d90654faeda8cbd7225b08ed3412/gpu/command_buffer/service/gles2_cmd_decoder.cc [modify] https://crrev.com/23a5326c8ae2d90654faeda8cbd7225b08ed3412/gpu/command_buffer/service/renderbuffer_manager.cc [modify] https://crrev.com/23a5326c8ae2d90654faeda8cbd7225b08ed3412/gpu/command_buffer/service/renderbuffer_manager.h [modify] https://crrev.com/23a5326c8ae2d90654faeda8cbd7225b08ed3412/gpu/config/gpu_driver_bug_list.json [modify] https://crrev.com/23a5326c8ae2d90654faeda8cbd7225b08ed3412/gpu/config/gpu_driver_bug_workaround_type.h
,
Oct 8
Not going to be working on this anymore. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by kainino@chromium.org
, Nov 17 2017