<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - [NV96] Artifacts in output of fragment program containing not unrolled loops with conditional break"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=78161#c7">Comment # 7</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - [NV96] Artifacts in output of fragment program containing not unrolled loops with conditional break"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=78161">bug 78161</a>
              from <span class="vcard"><a class="email" href="mailto:imirkin@alum.mit.edu" title="Ilia Mirkin <imirkin@alum.mit.edu>"> <span class="fn">Ilia Mirkin</span></a>
</span></b>
        <pre>And for the record, getting rid of the prebreak/break thing and replacing it
with bra's doesn't fix things either:

--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp
@@ -1266,8 +1266,10 @@ NV50LoweringPreSSA::visit(Instruction *i)
       return handleWRSV(i);
    case OP_CALL:
       return handleCALL(i);
+   case OP_PREBREAK:
    case OP_PRECONT:
       return handlePRECONT(i);
+   case OP_BREAK:
    case OP_CONT:
       return handleCONT(i);
    case OP_PFETCH:

results in identical-looking results (but slower), generated by:

00000000: 80000000              interp $r0 v[0x0]
00000004: 90000000              rcp f32 $r0 $r0
00000008: 1000800d 03f80003     mov b32 $r3 0x3f800000
00000010: 82010004              interp $r1 v[0x4] $r0
00000014: 82020000              interp $r0 v[0x8] $r0
00000018: 10008009 00000003     mov b32 $r2 0x0
00000020: 10008011 04348003   B mov b32 $r4 0x43480000
00000028: b00405fd 600187c8     set $c0 # ge f32 $r2 $r4
00000030: 10000601 0403c280     (lg $c0) mov b32 $r0 $r3
00000038: 10000605 0403c280     (lg $c0) mov b32 $r1 $r3
00000040: 10000609 0403c280     (lg $c0) mov b32 $r2 $r3
00000048: 10023003 00000280     (lg $c0) bra 0x118
00000050: 10000011 2400c780     ld $r4 b32 c0[0x0]
00000058: b00405fd 600107c8     set $c0 # g f32 $r2 $r4
00000060: 10000601 0403c280     (lg $c0) mov b32 $r0 $r3
00000068: 10000605 0403c280     (lg $c0) mov b32 $r1 $r3
00000070: 10000609 0403c280     (lg $c0) mov b32 $r2 $r3
00000078: 10023003 00000280     (lg $c0) bra 0x118
00000080: c0000211 04367003     mul f32 $r4 $r1 0x43670000
00000088: b0000415 04204003     add f32 $r5 $r2 0x42040000
00000090: c0050811 00000780     mul rn f32 $r4 $r4 $r5
00000098: 102e8015 0486563f     mov b32 $r5 0x486563ee
000000a0: e0050011 00010780     add f32 $r4 (mul $r0 $r5) $r4
000000a8: b00d0415 03f8cccf     add f32 $r5 $r2 0x3f8ccccd
000000b0: c0050811 00000780     mul rn f32 $r4 $r4 $r5
000000b8: b0000811 c0000780     presin f32 $r4 $r4
000000c0: 90000811 a0000780     cos f32 $r4 $r4
000000c8: 10088015 03f7ae17     mov b32 $r5 0x3f7ae148
000000d0: b00509fd 600107c8     set $c0 # g f32 $r4 $r5
000000d8: 10021003 00000100     (e $c0) bra 0x108
000000e0: 10008005 00000003     mov b32 $r1 0x0
000000e8: 1000800d 03f80003     mov b32 $r3 0x3f800000
000000f0: c00a0409 03ba3d73     mul f32 $r2 $r2 0x3ba3d70a
000000f8: 10000201 0403c780     mov b32 $r0 $r1
00000100: 10023003 00000780     bra 0x118
00000108: b0000409 03f80003   B add f32 $r2 $r2 0x3f800000
00000110: 10004003 00000780     bra 0x20
00000118: b00d0001 03dccccf   B add f32 $r0 $r0 0x3dcccccd
00000120: f0000001 e0000001     exit (never) nop

I guess it's time to look at this a little more carefully.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>