<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - piglit.spec.arb_tessellation_shader.compiler.barrier-switch-always.tesc fails"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=94297#c4">Comment # 4</a>
              on <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - piglit.spec.arb_tessellation_shader.compiler.barrier-switch-always.tesc fails"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=94297">bug 94297</a>
              from <span class="vcard"><a class="email" href="mailto:mark.a.janes@intel.com" title="Mark Janes <mark.a.janes@intel.com>"> <span class="fn">Mark Janes</span></a>
</span></b>
        <pre>The actual commit was earlier in the series:

1617f59bc675d6e44d16ab56d95e910d2e2c8f4e
glsl: Check TCS barrier restrictions at ast_to_hir time, not link time.

We want to check prior to optimization - otherwise we might fail to
detect cases where barrier() is in control flow which is always taken
(and therefore gets optimized away).

We don't currently loop unroll if there are function calls inside;
otherwise we might have a problem detecting barrier() in loops that
get unrolled as well.

Tapani's switch handling code adds a loop around switch statements, so
even with the mess of if ladders, we'll properly reject it.

Enforcing these rules at compile time makes more sense more sense than
link time.  Doing it at ast-to-hir time (rather than as an IR pass)
allows us to emit an error message with proper line numbers.
(Otherwise, I would have preferred the IR pass...)

Fixes spec/arb_tessellation_shader/compiler/barrier-switch-always.tesc.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>