[Mesa-dev] killing off the address reg in tgsi

Marek Olšák maraeo at gmail.com
Fri Jan 30 06:45:27 PST 2015


The fact r300 has ARL is well known. However, r600 has it too. The
r600 equivalent of ARL is "MOVA", which allows translating TGSI
indirect addressing into bytecode directly. So there is a rather
significant user base of gallium which uses hardware with ARL.

I am not opposed to the idea of nuking ARL from orbit, but I would
like to have some good alternative solution for hardware drivers that
depend on it that doesn't produce worse code. In the r600 case, we
generally care about the final code after SB has run.

Marek

On Thu, Jan 29, 2015 at 10:20 PM, Roland Scheidegger <sroland at vmware.com> wrote:
> Hi,
>
> the address reg in tgsi is quite a nuisance. glsl-to-tgsi code assumes
> that indirections can only be done through the address reg and has quite
> some extra code to deal with this. Even though hardware and apis which
> worked like that are definitely old by now.
> Thus, I'm proposing the address reg be nuked. I am however not quite
> sure what the implications for drivers are, other than I'm certain
> llvmpipe can handle that already.
> For that reason, I suspect at least initially a new cap bit would be
> required so glsl-to-tgsi would skip the extra code. I tend to think
> longer term it would be great if it could be nuked completely, I am
> however not sure if that is easily done with drivers for old hw (such as
> r300) - I guess if necessary we could keep operations such as ARL (or
> even ARR though clearly not UARL!) and just define them to be usable
> with temp regs.
>
> Opinions?
>
> Roland
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list