aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2019-12-12 17:11:40 -0500
committerMarge Bot <[email protected]>2019-12-16 20:06:07 +0000
commitde4a4595f62a9bd1494781c203ea8b1049545605 (patch)
tree0687ceb32341d7afd6cc28cc4d574d70548c47e1
parentdb67e51903521f03fc772761368266e2c2174f6b (diff)
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 <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3095>
-rw-r--r--src/gallium/drivers/radeonsi/si_shader.c25
1 files changed, 0 insertions, 25 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index 4453976ef9b..308be06121b 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -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);
}