Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4071>
/* 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 */
}
}
-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;