ac/llvm: Enable helper invocations for vote_all/any

cc: mesa-stable

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25293>
This commit is contained in:
Konstantin Seurer 2023-09-19 16:00:33 +02:00 committed by Marge Bot
parent 2b38d4922e
commit b100d3f731
2 changed files with 4 additions and 15 deletions

View file

@ -7,18 +7,3 @@ dEQP-VK.pipeline.monolithic.multisample.storage_image.79x31_1.r32g32b32a32_sfloa
dEQP-VK.pipeline.monolithic.multisample.storage_image.79x31_1.r8g8b8a8_unorm.samples_8,Fail
dEQP-VK.pipeline.monolithic.multisample.storage_image.79x31_4.r32g32b32a32_sfloat.samples_8,Fail
dEQP-VK.pipeline.monolithic.multisample.storage_image.79x31_4.r8g8b8a8_unorm.samples_8,Fail
dEQP-VK.subgroups.vote.frag_helper.subgroupallequal_double_fragment,Fail
dEQP-VK.subgroups.vote.frag_helper.subgroupallequal_f16vec4_fragment,Fail
dEQP-VK.subgroups.vote.frag_helper.subgroupallequal_i16vec4_fragment,Fail
dEQP-VK.subgroups.vote.frag_helper.subgroupallequal_i64vec2_fragment,Fail
dEQP-VK.subgroups.vote.frag_helper.subgroupallequal_i64vec3_fragment,Fail
dEQP-VK.subgroups.vote.frag_helper.subgroupallequal_i64vec4_fragment,Fail
dEQP-VK.subgroups.vote.frag_helper.subgroupallequal_i8vec4_fragment,Fail
dEQP-VK.subgroups.vote.frag_helper.subgroupallequal_int64_t_fragment,Fail
dEQP-VK.subgroups.vote.frag_helper.subgroupallequal_u16vec4_fragment,Fail
dEQP-VK.subgroups.vote.frag_helper.subgroupallequal_u64vec3_fragment,Fail
dEQP-VK.subgroups.vote.frag_helper.subgroupallequal_u64vec4_fragment,Fail
dEQP-VK.subgroups.vote.frag_helper.subgroupallequal_u8vec4_fragment,Fail
dEQP-VK.subgroups.vote.frag_helper.subgroupallequal_uint64_t_fragment,Fail
dEQP-VK.subgroups.vote.frag_helper.subgroupallequal_vec4_fragment,Fail

View file

@ -3292,10 +3292,14 @@ static bool visit_intrinsic(struct ac_nir_context *ctx, nir_intrinsic_instr *ins
}
case nir_intrinsic_vote_all: {
result = ac_build_vote_all(&ctx->ac, get_src(ctx, instr->src[0]));
if (ctx->info->stage == MESA_SHADER_FRAGMENT)
result = ac_build_wqm(&ctx->ac, result);
break;
}
case nir_intrinsic_vote_any: {
result = ac_build_vote_any(&ctx->ac, get_src(ctx, instr->src[0]));
if (ctx->info->stage == MESA_SHADER_FRAGMENT)
result = ac_build_wqm(&ctx->ac, result);
break;
}
case nir_intrinsic_quad_vote_any: {