I have no idea how shader_storage made it into the list of banned
variable modes for stores but it clearly should be allowed. This only
doesn't cause us a problem today because we never actually use derefs on
shader_storage variables.
Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
glsl_get_vector_elements(dst->type));
src_bit_sizes[1] = glsl_get_bit_size(dst->type);
validate_assert(state, (dst->mode & (nir_var_shader_in |
glsl_get_vector_elements(dst->type));
src_bit_sizes[1] = glsl_get_bit_size(dst->type);
validate_assert(state, (dst->mode & (nir_var_shader_in |
- nir_var_uniform |
- nir_var_shader_storage)) == 0);
+ nir_var_uniform)) == 0);
validate_assert(state, (nir_intrinsic_write_mask(instr) & ~((1 << instr->num_components) - 1)) == 0);
break;
}
validate_assert(state, (nir_intrinsic_write_mask(instr) & ~((1 << instr->num_components) - 1)) == 0);
break;
}
nir_deref_instr *src = nir_src_as_deref(instr->src[1]);
validate_assert(state, dst->type == src->type);
validate_assert(state, (dst->mode & (nir_var_shader_in |
nir_deref_instr *src = nir_src_as_deref(instr->src[1]);
validate_assert(state, dst->type == src->type);
validate_assert(state, (dst->mode & (nir_var_shader_in |
- nir_var_uniform |
- nir_var_shader_storage)) == 0);
+ nir_var_uniform)) == 0);