diff --git a/src/amd/ci/radv-navi21-llvm-fails.txt b/src/amd/ci/radv-navi21-llvm-fails.txt index e67a41a341f..a66b6910e16 100644 --- a/src/amd/ci/radv-navi21-llvm-fails.txt +++ b/src/amd/ci/radv-navi21-llvm-fails.txt @@ -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 diff --git a/src/amd/llvm/ac_nir_to_llvm.c b/src/amd/llvm/ac_nir_to_llvm.c index e1c1844acec..02f4066bc0f 100644 --- a/src/amd/llvm/ac_nir_to_llvm.c +++ b/src/amd/llvm/ac_nir_to_llvm.c @@ -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: {