aboutsummaryrefslogtreecommitdiffstats
path: root/src/amd/llvm
diff options
context:
space:
mode:
authorPierre-Eric Pelloux-Prayer <[email protected]>2020-03-24 16:32:11 +0100
committerPierre-Eric Pelloux-Prayer <[email protected]>2020-03-25 08:19:38 +0100
commit5533c41541f57774314517d893045eedfc5b2da1 (patch)
treec31f77940e4ed307731e724ee2ebed93b1bea7ac /src/amd/llvm
parent84da4ded4b90d0d13e3d89d97160eead9d5c8886 (diff)
ac: fix ac_build_is_helper_invocation when postponed_kill is null
If there was no demote() in the shader, ac_build_is_helper_invocation behaves exactly the same as ac_build_load_helper_invocation, i.e. the helper lanes are the same as they were at the beginning of the shader. Fixes: de57ea2a3da ("amd/llvm: implement nir_intrinsic_demote(_if) and nir_intrinsic_is_helper_invocation") Reviewed-by: Daniel Schürmann <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4301> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4301>
Diffstat (limited to 'src/amd/llvm')
-rw-r--r--src/amd/llvm/ac_llvm_build.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/amd/llvm/ac_llvm_build.c b/src/amd/llvm/ac_llvm_build.c
index 373eb77b4a0..f13baf792fc 100644
--- a/src/amd/llvm/ac_llvm_build.c
+++ b/src/amd/llvm/ac_llvm_build.c
@@ -4712,6 +4712,9 @@ ac_build_load_helper_invocation(struct ac_llvm_context *ctx)
LLVMValueRef
ac_build_is_helper_invocation(struct ac_llvm_context *ctx)
{
+ if (!ctx->postponed_kill)
+ return ac_build_load_helper_invocation(ctx);
+
/* !(exact && postponed) */
LLVMValueRef exact = ac_build_intrinsic(ctx, "llvm.amdgcn.ps.live",
ctx->i1, NULL, 0,