OSDN Git Service

radeonsi: release saved resources in si_compute_do_clear_or_copy
authorPierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Thu, 9 Jan 2020 13:59:49 +0000 (14:59 +0100)
committerDylan Baker <dylan@pnwbakers.com>
Tue, 14 Jan 2020 21:26:32 +0000 (13:26 -0800)
Fixes: 9b331e462e5 ("radeonsi: use compute shaders for clear_buffer & copy_buffer")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
(cherry picked from commit a5fe84aefb6858bee123f60b330db1e0287f9cc0)

src/gallium/drivers/radeonsi/si_compute_blit.c

index f7c2b66..da79072 100644 (file)
@@ -183,6 +183,8 @@ static void si_compute_do_clear_or_copy(struct si_context *sctx,
        ctx->set_shader_buffers(ctx, PIPE_SHADER_COMPUTE, 0, src ? 2 : 1, saved_sb,
                                saved_writable_mask);
        si_compute_internal_end(sctx);
+       for (int i = 0; i < 2; i++)
+               pipe_resource_reference(&saved_sb[i].buffer, NULL);
 }
 
 void si_clear_buffer(struct si_context *sctx, struct pipe_resource *dst,