freedreno/sched: reset delay counters at start of block
authorRob Clark <robdclark@chromium.org>
Mon, 25 May 2020 19:08:03 +0000 (12:08 -0700)
committerMarge Bot <eric+marge@anholt.net>
Tue, 16 Jun 2020 20:56:15 +0000 (20:56 +0000)
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5280>

src/freedreno/ir3/ir3_postsched.c
src/freedreno/ir3/ir3_sched.c

index 91283cb5ea1aa4b3060196fe58f501a65060b88c..fd36fdc0cdd7e740abaf79731f5e6347ac5fdb41 100644 (file)
@@ -581,6 +581,8 @@ static void
 sched_block(struct ir3_postsched_ctx *ctx, struct ir3_block *block)
 {
        ctx->block = block;
+       ctx->tex_delay = 0;
+       ctx->sfu_delay = 0;
 
        /* move all instructions to the unscheduled list, and
         * empty the block's instruction list (to which we will
index bd5471d7f022cc545d6d6d8c9593f02e7ebe3a18..6448987e3c2b71dd58013156dae812d831194ae1 100644 (file)
@@ -979,6 +979,8 @@ sched_block(struct ir3_sched_ctx *ctx, struct ir3_block *block)
        ctx->addr0 = NULL;
        ctx->addr1 = NULL;
        ctx->pred = NULL;
+       ctx->tex_delay = 0;
+       ctx->sfu_delay = 0;
 
        /* move all instructions to the unscheduled list, and
         * empty the block's instruction list (to which we will