[Mesa-dev] [Bug 50338]radeon: TGSI takes more than two cfiles from r600_shader.

Ilia Mirkin imirkin at alum.mit.edu
Sat Jan 7 17:33:43 UTC 2017


On Sat, Jan 7, 2017 at 10:30 AM, Jaime GarcĂ­a Villena
<garciavillena.jaime at gmail.com> wrote:
> I can't find the place where TGSI src registers are assigned into r600 GPR
> or CFILE registers. I'm planning to make an exception for these kind of
> chips, and prevent the 3rd CFILE assignation, somehow.
>
> Where does r600 shader operands assignation happen? Can you give some
> directions on where to look?

Someone might probably answer in some more depth, but there are two
stages - one is to convert TGSI -> r600 asm, which happens in
r600_asm.c as you've found. Then there's an optimizing compiler,
called "sb", which takes the asm and optimizes it, based on various
internal rules; the logic for this is in the r600/sb directory. A
restriction of the sort you're talking about would have to be taken
into account by sb as well. You can test to see if that's the issue by
running with R600_DEBUG=nosb, which will skip the second stage. If
that works, then the issue definitely lies in sb. Otherwise it's in
the tgsi -> r600 asm phase.

More generally, you may find it faster to get help in #radeon and
#dri-devel on irc.freenode.net than asking in emails (since it's
easier to ask follow-up questions).

Cheers,

  -ilia


More information about the mesa-dev mailing list