radeonsi: set scratch_state dirty only if ctx->scratch_buffer allocated
authorYogesh mohan marimuthu <yogesh.mohanmarimuthu@amd.com>
Tue, 15 Jun 2021 09:13:33 +0000 (14:43 +0530)
committerMarge Bot <eric+marge@anholt.net>
Fri, 16 Jul 2021 23:08:00 +0000 (23:08 +0000)
if ctx->scratch_buffer is NULL, then no need to update SPI_TMPRING_SIZE
size register.

Signed-off-by: Yogesh mohan marimuthu <yogesh.mohanmarimuthu@amd.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11900>

src/gallium/drivers/radeonsi/si_gfx_cs.c

index 8ecd92f..1e00198 100644 (file)
@@ -557,9 +557,9 @@ void si_begin_new_gfx_cs(struct si_context *ctx, bool first_cs)
       memset(ctx->tracked_regs.spi_ps_input_cntl, 0xff, sizeof(uint32_t) * 32);
    }
 
-   si_mark_atom_dirty(ctx, &ctx->atoms.s.scratch_state);
    if (ctx->scratch_buffer) {
       si_context_add_resource_size(ctx, &ctx->scratch_buffer->b.b);
+      si_mark_atom_dirty(ctx, &ctx->atoms.s.scratch_state);
    }
 
    if (ctx->streamout.suspended) {