https://bugs.freedesktop.org/show_bug.cgi?id=82828
--- Comment #16 from Marek Olšák maraeo@gmail.com --- (In reply to comment #14)
(In reply to comment #13)
(In reply to comment #12)
Created attachment 105630 [details] [review] [review] [review] another debugging patch
Ok, it looks like the problem is that node 0's q_total is bogus, which means it never even gets considered for optimistic coloring. To help me figure out why this is, can you apply this patch to master (not on top of the other patch) and tell me the output of the piglit test now?
On (In reply to comment #12)
Created attachment 105630 [details] [review] [review] [review] another debugging patch
Ok, it looks like the problem is that node 0's q_total is bogus, which means it never even gets considered for optimistic coloring. To help me figure out why this is, can you apply this patch to master (not on top of the other patch) and tell me the output of the piglit test now?
I'm not sure if this matters, but r300g pre-allocates the input registers before calling ra_allocate_no_spills().
I think there are no input registers in this case (there's a NumInputs = 0 somewhere in the backtrace) so there aren't any pre-allocated nodes here.
What Tom probably meant is that inputs are loaded to temps before the fragment shader starts, so inputs and temps pretty much share the temporary file. Not sure how relevant it is to this issue, but obviously you can't rename the temps which are supposed to contain inputs.