On Mon, 2016-04-11 at 13:50 -0700, Jason Ekstrand wrote: > 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 guess you intend to send patches for those other passes after you land this? > 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. I don't have a particular preference myself, so if nobody else has objections, the series is: Reviewed-by: Iago Toral Quiroga <[email protected]> > Cc: Kenneth Graunke <[email protected]> > Cc: Eric Anholt <[email protected]> > Cc: Connor Abbott <[email protected]> > Cc: Rob Clark <[email protected]> > > Jason Ekstrand (3): > nir: Convert nir_variable_mode to a bitfield > nir/lower_indirect: nir_variable_mode is now a bitfield > nir/lower_io: Allow for a full bitmask of modes > > src/compiler/nir/nir.h | 37 > ++++++++++++++-------------- > src/compiler/nir/nir_lower_indirect_derefs.c | 12 ++++----- > src/compiler/nir/nir_lower_io.c | 12 ++++----- > src/compiler/nir/nir_validate.c | 3 +++ > 4 files changed, 33 insertions(+), 31 deletions(-) > _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
