[Mesa-dev] [PATCH v2 00/78] i965: A new vec4 backend based on NIR

Jason Ekstrand jason at jlekstrand.net
Tue Aug 4 12:18:32 PDT 2015


On Tue, Aug 4, 2015 at 2:42 AM, Antía Puentes <apuentes at igalia.com> wrote:
> Hi! Jason,
>
> On lun, 2015-08-03 at 17:25 -0700, Jason Ekstrand wrote:
>> On Mon, Aug 3, 2015 at 9:51 AM, Jason Ekstrand <jason at jlekstrand.net> wrote:
>
>> > I also pushed a version to our CI system that switched the
>> > INTEL_USE_NIR default to true and things look pretty good over-all.
>> > On ILK (gen5) and 965 (gen 4), there were a bunch of tests that failed
>> > most of which seemed to be focussed around either variable indexing or
>> > comparison operations.  It looks like it's probably the same problem
>> > (or problems) on both gens, so once we get one fixed, the other will
>> > most likely follow.  On gen8, it looks like integers are broken.
>> >
>> > I don't know if any of you have the hardware to solve those problems.
>> > If not, someone from the Oregon team can look into it.
>>
>> I went ahead and looked at some of these problems.  I just sent a
>> short patch series that fixes all of the regressions vs. non-NIR on
>> BDW+ and ILK-.  Some things I noticed while I was at it:
>>
>> 1) You implemented nir_op_bany but not nir_op_ball.  Why is this?  Do
>> we not have any piglit tests that hit nir_op_ball?
>
> I did not implement nir_op_ball because, AFAICS, it is never emitted.
> Again, AFAICS, the equivalent IR operation is also missing, probably
> because the "all()" builtin function is implemented using
> nir_binop_logic_ands. I can add it if you think it makes sense though.

I'd never noticed that before, but you're absolutely right.  It might
be worth adding it for completeness and in case we add algebraic
optimizations that generate a nir_op_ball.  Probably not a big deal at
the moment though.  For what it's worth, I experimented a bit with it
today:

http://cgit.freedesktop.org/~jekstrand/mesa/log/?h=wip/ir-unop-all

Didn't seem to make any difference on shader-db though.  The all() in
glsl probably isn't really used much in vertex shaders so I'm not too
worried about it.
--Jason


More information about the mesa-dev mailing list