<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Planetary Annihilation Alpha: translation from TGSI failed !"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=68527#c7">Comment # 7</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Planetary Annihilation Alpha: translation from TGSI failed !"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=68527">bug 68527</a>
              from <span class="vcard"><a class="email" href="mailto:ptpzz@yandex.ru" title="Vadim Girlin <ptpzz@yandex.ru>"> <span class="fn">Vadim Girlin</span></a>
</span></b>
        <pre>(In reply to <a href="show_bug.cgi?id=68527#c4">comment #4</a>)
<span class="quote">> I'm also forgot to post full error:
> EE r600_shader.c:158 r600_pipe_shader_create - translation from TGSI failed !
> EE r600_state_common.c:754 r600_shader_select - Failed to build shader
> variant (type=1) -1</span >

Looks like the shader needs too much registers, it's probably the most frequent
reason for such errors. Old backend can't handle it correctly, and I think it's
not going to be fixed. LLVM backend should handle it better, so you might want
to try it in this case.

By the way, there is a check that should print more specific message, but
currently it's performed after the compilation because we don't know exact
numbers of temp registers used by backend itself until we compile the shader.
Probably we might want to implement similar check before the compilation as
well - in most cases we can detect the problem just by checking the number of
TGSI_inputs + TGSI_outputs + TGSI_temps, otherwise the backend often fails due
to register limit in the middle of compilation without providing any
explanation.</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>