nir: Add a new subgroups lowering pass
This commit pulls nir_lower_read_invocations_to_scalar along with most of the guts of nir_opt_intrinsics (which mostly does subgroup lowering) into a new nir_lower_subgroups pass. There are various other bits of subgroup lowering that we're going to want to do so it makes a bit more sense to keep it all together in one pass. We also move it in i965 to happen after nir_lower_system_values to ensure that because we want to handle the subgroup mask system value intrinsics here. Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
This commit is contained in:
@@ -57,7 +57,6 @@ static const struct nir_shader_compiler_options scalar_nir_options = {
|
||||
.lower_unpack_snorm_4x8 = true,
|
||||
.lower_unpack_unorm_2x16 = true,
|
||||
.lower_unpack_unorm_4x8 = true,
|
||||
.lower_subgroup_masks = true,
|
||||
.max_subgroup_size = 32,
|
||||
.max_unroll_iterations = 32,
|
||||
};
|
||||
@@ -80,7 +79,6 @@ static const struct nir_shader_compiler_options vector_nir_options = {
|
||||
.lower_unpack_unorm_2x16 = true,
|
||||
.lower_extract_byte = true,
|
||||
.lower_extract_word = true,
|
||||
.lower_vote_trivial = true,
|
||||
.max_unroll_iterations = 32,
|
||||
};
|
||||
|
||||
@@ -99,7 +97,6 @@ static const struct nir_shader_compiler_options vector_nir_options_gen6 = {
|
||||
.lower_unpack_unorm_2x16 = true,
|
||||
.lower_extract_byte = true,
|
||||
.lower_extract_word = true,
|
||||
.lower_vote_trivial = true,
|
||||
.max_unroll_iterations = 32,
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user