[Mesa-dev] [Bug 107090] nir: problem case for loop unrolling

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Jul 2 17:44:22 UTC 2018


https://bugs.freedesktop.org/show_bug.cgi?id=107090

            Bug ID: 107090
           Summary: nir: problem case for loop unrolling
           Product: Mesa
           Version: git
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Mesa core
          Assignee: mesa-dev at lists.freedesktop.org
          Reporter: caio.oliveira at intel.com
        QA Contact: mesa-dev at lists.freedesktop.org

Created attachment 140437
  --> https://bugs.freedesktop.org/attachment.cgi?id=140437&action=edit
Failing test case

The following

  int i = 0;
  do {
      if (i == 1) {
        colour.g = 1.0;
        break;
      }
      i++;
  } while (i < 2);

doesn't get unrolled properly and the green value is never written. If "i++" is
moved before the "if (...)" block, then things work.

This is a reduction for a problem reported last week by Karol Herbst. It is
also the root cause for Piglit test
tests/spec/glsl-1.10/execution/vs-loop-simple-unroll-induction-variable-inside-if-branch.shader_test
to fail.

Attached is a failing test case. From looking last week it seems there's
something missing in the logic for counting the number of iterations (hence
picking the right terminator for a loop).

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180702/75fbd8f0/attachment-0001.html>


More information about the mesa-dev mailing list