mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 06:48:06 +02:00
radeonsi: handle render_condition_enable in si_compute_clear_render_target
This commit is contained in:
parent
984fd73515
commit
a03ecbaeec
3 changed files with 8 additions and 3 deletions
|
|
@ -683,7 +683,8 @@ static void si_clear_render_target(struct pipe_context *ctx,
|
||||||
struct si_texture *sdst = (struct si_texture*)dst->texture;
|
struct si_texture *sdst = (struct si_texture*)dst->texture;
|
||||||
|
|
||||||
if (dst->texture->nr_samples <= 1 && !sdst->dcc_offset) {
|
if (dst->texture->nr_samples <= 1 && !sdst->dcc_offset) {
|
||||||
si_compute_clear_render_target(ctx, dst, color, dstx, dsty, width, height);
|
si_compute_clear_render_target(ctx, dst, color, dstx, dsty, width,
|
||||||
|
height, render_condition_enabled);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -432,7 +432,8 @@ void si_compute_clear_render_target(struct pipe_context *ctx,
|
||||||
struct pipe_surface *dstsurf,
|
struct pipe_surface *dstsurf,
|
||||||
const union pipe_color_union *color,
|
const union pipe_color_union *color,
|
||||||
unsigned dstx, unsigned dsty,
|
unsigned dstx, unsigned dsty,
|
||||||
unsigned width, unsigned height)
|
unsigned width, unsigned height,
|
||||||
|
bool render_condition_enabled)
|
||||||
{
|
{
|
||||||
struct si_context *sctx = (struct si_context *)ctx;
|
struct si_context *sctx = (struct si_context *)ctx;
|
||||||
unsigned num_layers = dstsurf->u.tex.last_layer - dstsurf->u.tex.first_layer + 1;
|
unsigned num_layers = dstsurf->u.tex.last_layer - dstsurf->u.tex.first_layer + 1;
|
||||||
|
|
@ -452,6 +453,8 @@ void si_compute_clear_render_target(struct pipe_context *ctx,
|
||||||
}
|
}
|
||||||
|
|
||||||
si_compute_internal_begin(sctx);
|
si_compute_internal_begin(sctx);
|
||||||
|
sctx->render_cond_force_off = !render_condition_enabled;
|
||||||
|
|
||||||
sctx->flags |= SI_CONTEXT_CS_PARTIAL_FLUSH |
|
sctx->flags |= SI_CONTEXT_CS_PARTIAL_FLUSH |
|
||||||
si_get_flush_flags(sctx, SI_COHERENCY_SHADER, L2_STREAM);
|
si_get_flush_flags(sctx, SI_COHERENCY_SHADER, L2_STREAM);
|
||||||
si_make_CB_shader_coherent(sctx, dstsurf->texture->nr_samples, true);
|
si_make_CB_shader_coherent(sctx, dstsurf->texture->nr_samples, true);
|
||||||
|
|
|
||||||
|
|
@ -1185,7 +1185,8 @@ void si_compute_clear_render_target(struct pipe_context *ctx,
|
||||||
struct pipe_surface *dstsurf,
|
struct pipe_surface *dstsurf,
|
||||||
const union pipe_color_union *color,
|
const union pipe_color_union *color,
|
||||||
unsigned dstx, unsigned dsty,
|
unsigned dstx, unsigned dsty,
|
||||||
unsigned width, unsigned height);
|
unsigned width, unsigned height,
|
||||||
|
bool render_condition_enabled);
|
||||||
void si_init_compute_blit_functions(struct si_context *sctx);
|
void si_init_compute_blit_functions(struct si_context *sctx);
|
||||||
|
|
||||||
/* si_cp_dma.c */
|
/* si_cp_dma.c */
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue