freedreno/ir3: split out has_latency_to_hide()

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4071>
This commit is contained in:
Rob Clark
2020-02-28 12:47:29 -08:00
committed by Marge Bot
parent dd2e050a84
commit b6eb11295a
2 changed files with 25 additions and 25 deletions
+24
View File
@@ -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 */
+1 -25
View File
@@ -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;