diff options
author | Rob Clark <[email protected]> | 2020-02-28 12:47:29 -0800 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-03-10 16:01:39 +0000 |
commit | b6eb11295a7fab543d738263798b96883e3a658b (patch) | |
tree | e3ee06613daf9519541ccf12561e89ccda5e8fad /src/freedreno | |
parent | dd2e050a8422aed2f4de601b3894cbba94ba30bb (diff) |
freedreno/ir3: split out has_latency_to_hide()
Signed-off-by: Rob Clark <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4071>
Diffstat (limited to 'src/freedreno')
-rw-r--r-- | src/freedreno/ir3/ir3.h | 24 | ||||
-rw-r--r-- | src/freedreno/ir3/ir3_sched.c | 26 |
2 files changed, 25 insertions, 25 deletions
diff --git a/src/freedreno/ir3/ir3.h b/src/freedreno/ir3/ir3.h index 1a3edbc4530..a44663f4238 100644 --- a/src/freedreno/ir3/ir3.h +++ b/src/freedreno/ir3/ir3.h @@ -1198,6 +1198,30 @@ int ir3_ra(struct ir3_shader_variant *v, struct ir3_instruction **precolor, unsi /* legalize: */ void ir3_legalize(struct ir3 *ir, struct ir3_shader_variant *so, int *max_bary); +static inline bool +ir3_has_latency_to_hide(struct ir3 *ir) +{ + foreach_block (block, &ir->block_list) { + foreach_instr (instr, &block->instr_list) { + if (is_tex(instr)) + return true; + + if (is_load(instr)) { + switch (instr->opc) { + case OPC_LDLV: + case OPC_LDL: + case OPC_LDLW: + break; + default: + return true; + } + } + } + } + + return false; +} + /* ************************************************************************* */ /* instruction helpers */ diff --git a/src/freedreno/ir3/ir3_sched.c b/src/freedreno/ir3/ir3_sched.c index 9c8d3572a23..d48fd497b74 100644 --- a/src/freedreno/ir3/ir3_sched.c +++ b/src/freedreno/ir3/ir3_sched.c @@ -772,34 +772,10 @@ sched_block(struct ir3_sched_ctx *ctx, struct ir3_block *block) } } -static bool -has_latency_to_hide(struct ir3 *ir) -{ - foreach_block (block, &ir->block_list) { - foreach_instr (instr, &block->instr_list) { - if (is_tex(instr)) - return true; - - if (is_load(instr)) { - switch (instr->opc) { - case OPC_LDLV: - case OPC_LDL: - case OPC_LDLW: - break; - default: - return true; - } - } - } - } - - return false; -} - static void setup_thresholds(struct ir3_sched_ctx *ctx, struct ir3 *ir) { - if (has_latency_to_hide(ir)) { + if (ir3_has_latency_to_hide(ir)) { ctx->live_threshold_hi = 2 * 16 * 4; ctx->live_threshold_lo = 2 * 4 * 4; ctx->depth_threshold_hi = 6; |