On April 14, 2018 12:43:35 Connor Abbott <cwabbo...@gmail.com> wrote:

On Sat, Apr 14, 2018 at 3:39 PM, Erico Nunes <nunes.er...@gmail.com> wrote:
On Sat, Apr 14, 2018 at 9:26 PM, Jason Ekstrand <ja...@jlekstrand.net> wrote:
Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net>

What driver is hitting this path?  The !supports_ints path isn't used to my
knowledge so if some driver has started using it, they're liable to find
more bugs than just this one. :-)

I'm doing some work on the lima vertex shader compiler and I hit this.

And yeah this is there since 2015 it seems, so I suppose no other
drivers are using this path, we'll see if there's more.

I think that it's probably impractical to use this path, and we should
probably delete it. There are just too many optimizations, e.g. in
nir_opt_algebraic and lowering passes that assume you have ints. I
think a better plan would be to silently convert ints to floats in the
lima driver, and maybe inhibit any optimizations that use bit
twiddling tricks if real int support isn't indicated.

I'm not sure. For quite a while prog_to_nir used these comparison operations so we know they more it less work. For all I know, maybe it still does (I didn't actually check). The only thing we need to worry about in terms of correctness is any optimizations in nir_opt_algebraic which consume only floats but produce integers. Also, all drivers need to handle imov simply because it's easy.

That being said, we've done a lot of work to optimize the integer supporting paths so you may actually get better code if you can figure out a good way to lower the integers away.



_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to