-
-void nir_lower_samplers(nir_shader *shader,
- const struct gl_shader_program *shader_program);
+void nir_lower_io_to_scalar_early(nir_shader *shader, nir_variable_mode mask);
+
+typedef struct nir_lower_subgroups_options {
+ uint8_t subgroup_size;
+ uint8_t ballot_bit_size;
+ bool lower_to_scalar:1;
+ bool lower_vote_trivial:1;
+ bool lower_vote_eq_to_ballot:1;
+ bool lower_subgroup_masks:1;
+ bool lower_shuffle:1;
+ bool lower_shuffle_to_32bit:1;
+ bool lower_quad:1;
+} nir_lower_subgroups_options;
+
+bool nir_lower_subgroups(nir_shader *shader,
+ const nir_lower_subgroups_options *options);