Summary: | WebGL shaders cause system freeze | ||
---|---|---|---|
Product: | Mesa | Reporter: | grmat |
Component: | Drivers/Gallium/radeonsi | Assignee: | Default DRI bug account <dri-devel> |
Status: | RESOLVED FIXED | QA Contact: | Default DRI bug account <dri-devel> |
Severity: | normal | ||
Priority: | medium | ||
Version: | 17.1 | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
grmat
2017-07-19 00:58:11 UTC
There has been a series of changes to loop unrolling since this was reported but this in now working and I believe the final fix was likely the following patch as this was still crashing when I tested it before working on this fix. It entirely possible something else fixed it but its working now so closing. commit 56b867395dee1a48594b27987d3bf68a4e745dda Author: Timothy Arceri <tarceri@itsqueeze.com> Date: Mon Mar 26 10:31:26 2018 +1100 glsl: fix infinite loop caused by bug in loop unrolling pass Just checking for 2 jumps is not enough to be sure we can do a complex loop unroll. We need to make sure we also have also found 2 loop terminators. Without this we were attempting to unroll a loop where the second jump was nested inside multiple ifs which loop analysis is unable to detect as a terminator. We ended up splicing out the first terminator but failed to actually unroll the loop, this resulted in the creation of a possible infinite loop. Fixes: 646621c66da9 "glsl: make loop unrolling more like the nir unrolling path" Tested-by: Gert Wollny <gw.fossdev@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105670 |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.