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: de57ea2a3d ("amd/llvm: implement nir_intrinsic_demote(_if) and nir_intrinsic_is_helper_invocation")
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4301>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4301>
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user