[Mesa-dev] [PATCH 0/3] nir: Convert nir_variable_mode to a bitfield

Jason Ekstrand jason at jlekstrand.net
Tue Apr 12 15:32:49 UTC 2016


On Apr 12, 2016 7:52 AM, "Eirik Byrkjeflot Anonsen" <eirik at eirikba.org>
wrote:
>
> Jason Ekstrand <jason at jlekstrand.net> writes:
>
> > This tiny series converts nir_var_mode to be a bitfield instead of a
> > regular enum and then converts two of the passes that currently take a
mode
> > to handle the new bitfield.  The reason for this is that a number of
> > different passes want to be able to act on some subset of the modes and
can
> > run more efficiently if they are called once with that set rather than
once
> > per mode.
> >
> > I'm not 100% sold on making it a bitfield and asserting only one bit is
set
> > in nir_validate.  This isn't the standard pattern in the mesa compiler
> > stack today so it may throw people off.  It still looks kind of strage
to
> > me.  On the other hand, it does have the potential to make things look
> > nicer and gdb will pretty-print it for you.  For what it's worth, the
> > Khronos group settled on using this pattern for bitfield-capable enums
in
> > Vulkan.  Rob seems to prefer this over a regular enum and using (1 <<
mode)
> > everywhere so, unless there are major objections, we'll probably go with
> > it.
>
> Would it help to name them *_bit to signify the fact that they are bits
> rather than values?

We could, but such a change would touch over half of NIR for, I think,
marginal benefit.

> eirik
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160412/690c4716/attachment.html>


More information about the mesa-dev mailing list