Bug ID: 105442
           Summary: Hang when running nine ff lighting shader
           Product: Mesa
           Version: git
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/Gallium/radeonsi
        QA Contact:

Created attachment 138005
tgsi, llvm and asm

Any app/game running nine ff shader with lighting on hangs on my RX480 with
mesa git/llvm 5.0.1

The shader works well under llvmpipe and works with mesa 17.2. sisched or not
doesn't make a difference.

The shader features a loop over the lights. When the lights is the last (a
constant is set to 1) the loop should stop.

The constants start at pos 32 and are then incremented by 8.

I suspect comparing the correct and the fauly generated shader that the
increment happens at the beginning of the loop instead of at the end:

The faulty shader has:
s_branch BB0_2                                        ; BF820000
v_add_f32_e32 v20, 0x41000000, v20                    ; 022828FF 41000000

According to the s_branch encoding, it should do PC = PC + 4

Does that mean it is noop ?
Or could it be that it jumps in the middle of the the two word following
instruction ? Thus causing the constant to be interpreted as an instruction ?

It could be an llvm bug or a mesa bug, thus I'm posting here in any case.

You are receiving this mail because:
You are the assignee for the bug.
dri-devel mailing list

Reply via email to