[Mesa-dev] [PATCH] r600g: Fix UMAD on Cayman

Marek Olšák maraeo at gmail.com
Tue Apr 9 03:32:12 PDT 2013


I think the transform feedback code is correct, because all the other TFB
tests pass. If there is an issue, it must be in the shader.

Marek


On Tue, Apr 9, 2013 at 8:58 AM, Martin Andersson <g02maran at gmail.com> wrote:

> On Tue, Apr 9, 2013 at 3:18 AM, Marek Olšák <maraeo at gmail.com> wrote:
> > Pushed, thanks. The transform feedback test still doesn't pass, but at
> least
> > the hardlocks are gone.
>
> Thanks, I have looked into the other issue as well
> http://lists.freedesktop.org/archives/mesa-dev/2013-March/036941.html
>
> The problem arises when there are nested loops. If I rework the code
> so there are
> no nested loops the issue disappears. At least one pixel also needs to
> enter the
> outer loop. The pixels that should enter the outer loop behaves
> correctly. It is those
> pixels that should not enter the outer loop that misbehaves. It does
> not matter if they
> also fails the test for the inner loop, they will still execute the
> instruction inside. That
> leads to the strange results for that test.
>
> The strangeness is easier to see if the NUM_POINTS in the
> ext_transform_feedback/
> order.c are run with smaller values,like 3, 6 and 9. Disable the code
> that fail the test
> and print starting_x, shift_reg_final and iteration_count.
>
> Marek, since you implemented transform feedback for r600, do you think the
> issue
> is with the tranform feedback code or the shader compiler or some other
> thing?
>
> //Martin
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20130409/043e384e/attachment.html>


More information about the mesa-dev mailing list