mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 15:38:09 +02:00
radeonsi: don't wrap the VS prolog in if (ES thread) .. endif
We can execute it unconditionally and the values computed for disabled threads won't be used anyway. Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3095>
This commit is contained in:
parent
db67e51903
commit
de4a4595f6
1 changed files with 0 additions and 25 deletions
|
|
@ -7429,17 +7429,6 @@ static void si_build_vs_prolog_function(struct si_shader_context *ctx,
|
|||
key->vs_prolog.num_input_sgprs + i, "");
|
||||
}
|
||||
|
||||
LLVMValueRef original_ret = ret;
|
||||
bool wrapped = false;
|
||||
LLVMBasicBlockRef if_entry_block = NULL;
|
||||
|
||||
if (key->vs_prolog.is_monolithic && key->vs_prolog.as_ngg) {
|
||||
LLVMValueRef ena = si_is_es_thread(ctx);
|
||||
if_entry_block = LLVMGetInsertBlock(ctx->ac.builder);
|
||||
ac_build_ifcc(&ctx->ac, ena, 11501);
|
||||
wrapped = true;
|
||||
}
|
||||
|
||||
/* Compute vertex load indices from instance divisors. */
|
||||
LLVMValueRef instance_divisor_constbuf = NULL;
|
||||
|
||||
|
|
@ -7495,20 +7484,6 @@ static void si_build_vs_prolog_function(struct si_shader_context *ctx,
|
|||
ctx->args.arg_count + i, "");
|
||||
}
|
||||
|
||||
if (wrapped) {
|
||||
LLVMBasicBlockRef bbs[2] = {
|
||||
LLVMGetInsertBlock(ctx->ac.builder),
|
||||
if_entry_block,
|
||||
};
|
||||
ac_build_endif(&ctx->ac, 11501);
|
||||
|
||||
LLVMValueRef values[2] = {
|
||||
ret,
|
||||
original_ret
|
||||
};
|
||||
ret = ac_build_phi(&ctx->ac, LLVMTypeOf(ret), 2, values, bbs);
|
||||
}
|
||||
|
||||
si_llvm_build_ret(ctx, ret);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue