int (*type_size)(const struct glsl_type *, bool),
nir_lower_io_options);
-bool nir_io_add_const_offset_to_base(nir_shader *nir, nir_variable_mode mode);
+bool nir_io_add_const_offset_to_base(nir_shader *nir, nir_variable_mode modes);
bool
nir_lower_vars_to_explicit_types(nir_shader *shader,
static bool
add_const_offset_to_base_block(nir_block *block, nir_builder *b,
- nir_variable_mode mode)
+ nir_variable_mode modes)
{
bool progress = false;
nir_foreach_instr_safe(instr, block) {
nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr);
- if ((mode == nir_var_shader_in && is_input(intrin)) ||
- (mode == nir_var_shader_out && is_output(intrin))) {
+ if (((modes & nir_var_shader_in) && is_input(intrin)) ||
+ ((modes & nir_var_shader_out) && is_output(intrin))) {
nir_src *offset = nir_get_io_offset_src(intrin);
if (nir_src_is_const(*offset)) {
}
bool
-nir_io_add_const_offset_to_base(nir_shader *nir, nir_variable_mode mode)
+nir_io_add_const_offset_to_base(nir_shader *nir, nir_variable_mode modes)
{
bool progress = false;
nir_builder b;
nir_builder_init(&b, f->impl);
nir_foreach_block(block, f->impl) {
- progress |= add_const_offset_to_base_block(block, &b, mode);
+ progress |= add_const_offset_to_base_block(block, &b, modes);
}
}
}