lavapipe: lower quad_broadcast intrinsics

not supported by gallivm

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16301>
This commit is contained in:
Mike Blumenkrantz 2022-05-03 11:01:05 -04:00
parent b312721d87
commit b929e21fbe

View file

@ -900,6 +900,12 @@ lvp_shader_compile_to_ir(struct lvp_pipeline *pipeline,
}
assert(exec_list_length(&nir->functions) == 1);
struct nir_lower_subgroups_options subgroup_opts = {0};
subgroup_opts.lower_quad = true;
subgroup_opts.ballot_components = 4;
subgroup_opts.ballot_bit_size = 32;
NIR_PASS_V(nir, nir_lower_subgroups, &subgroup_opts);
NIR_PASS_V(nir, nir_lower_variable_initializers, ~0);
NIR_PASS_V(nir, nir_split_var_copies);
NIR_PASS_V(nir, nir_split_per_member_structs);