Den tir. 11. sep. 2018 kl. 01:30 skrev Ian Romanick <i...@freedesktop.org>: > > From: Ian Romanick <ian.d.roman...@intel.com> >
Reviewed-by: Thomas Helland<thomashellan...@gmail.com> > Signed-off-by: Ian Romanick <ian.d.roman...@intel.com> > --- > src/compiler/nir/nir.h | 23 +++++++++++++++++++++++ > 1 file changed, 23 insertions(+) > > diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h > index bf4bd916d27..69ca1215644 100644 > --- a/src/compiler/nir/nir.h > +++ b/src/compiler/nir/nir.h > @@ -2490,6 +2490,29 @@ bool nir_foreach_dest(nir_instr *instr, > nir_foreach_dest_cb cb, void *state); > bool nir_foreach_src(nir_instr *instr, nir_foreach_src_cb cb, void *state); > > nir_const_value *nir_src_as_const_value(nir_src src); > + > +static inline struct nir_instr * > +nir_src_instr(const struct nir_src *src) > +{ > + return src->is_ssa ? src->ssa->parent_instr : NULL; > +} > + > +#define NIR_SRC_AS_(name, c_type, type_enum, cast_macro) \ > +static inline c_type * \ > +nir_src_as_ ## name (struct nir_src *src) \ > +{ \ > + return src->is_ssa && src->ssa->parent_instr->type == type_enum \ > + ? cast_macro(src->ssa->parent_instr) : NULL; \ > +} \ > +static inline const c_type * \ > +nir_src_as_ ## name ## _const(const struct nir_src *src) \ > +{ \ > + return src->is_ssa && src->ssa->parent_instr->type == type_enum \ > + ? cast_macro(src->ssa->parent_instr) : NULL; \ > +} > + > +NIR_SRC_AS_(alu_instr, nir_alu_instr, nir_instr_type_alu, nir_instr_as_alu) > + > bool nir_src_is_dynamically_uniform(nir_src src); > bool nir_srcs_equal(nir_src src1, nir_src src2); > void nir_instr_rewrite_src(nir_instr *instr, nir_src *src, nir_src new_src); > -- > 2.14.4 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev