diff --git a/src/gallium/drivers/radeonsi/si_clear.c b/src/gallium/drivers/radeonsi/si_clear.c index a7349ef8882..c3c92f7dc86 100644 --- a/src/gallium/drivers/radeonsi/si_clear.c +++ b/src/gallium/drivers/radeonsi/si_clear.c @@ -1273,6 +1273,17 @@ static void si_clear_render_target(struct pipe_context *ctx, struct pipe_surface return; } + si_gfx_clear_render_target(ctx, dst, color, dstx, dsty, width, height, + render_condition_enabled); +} + +void si_gfx_clear_render_target(struct pipe_context *ctx, struct pipe_surface *dst, + const union pipe_color_union *color, unsigned dstx, + unsigned dsty, unsigned width, unsigned height, + bool render_condition_enabled) +{ + struct si_context *sctx = (struct si_context *)ctx; + si_blitter_begin(sctx, SI_CLEAR_SURFACE | (render_condition_enabled ? 0 : SI_DISABLE_RENDER_COND)); util_blitter_clear_render_target(sctx->blitter, dst, color, dstx, dsty, width, height); diff --git a/src/gallium/drivers/radeonsi/si_pipe.h b/src/gallium/drivers/radeonsi/si_pipe.h index b427116a4b9..5a46d87e3ba 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.h +++ b/src/gallium/drivers/radeonsi/si_pipe.h @@ -1476,6 +1476,10 @@ void si_init_buffer_clear(struct si_clear_info *info, uint32_t size, uint32_t clear_value); void si_execute_clears(struct si_context *sctx, struct si_clear_info *info, unsigned num_clears, unsigned types); +void si_gfx_clear_render_target(struct pipe_context *ctx, struct pipe_surface *dst, + const union pipe_color_union *color, unsigned dstx, + unsigned dsty, unsigned width, unsigned height, + bool render_condition_enabled); void si_init_clear_functions(struct si_context *sctx); /* si_compute.c */