radeonsi/gfx11: set SAMPLE_MASK_TRACKER_WATERMARK = 15 and clean up

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17864>
This commit is contained in:
Marek Olšák 2022-07-10 15:28:38 -04:00 committed by Marge Bot
parent b1af36163c
commit 23a1dca8c6
2 changed files with 2 additions and 10 deletions

View file

@ -770,7 +770,6 @@ struct si_framebuffer {
ubyte color_is_int8;
ubyte color_is_int10;
ubyte dirty_cbufs;
ubyte dcc_overwrite_combiner_watermark;
ubyte min_bytes_per_pixel;
bool dirty_zsbuf;
bool any_dst_linear;

View file

@ -110,17 +110,16 @@ static void si_emit_cb_render_state(struct si_context *sctx)
*/
bool oc_disable =
blend->dcc_msaa_corruption_4bit & cb_target_mask && sctx->framebuffer.nr_samples >= 2;
unsigned watermark = sctx->framebuffer.dcc_overwrite_combiner_watermark;
if (sctx->gfx_level >= GFX11) {
radeon_opt_set_context_reg(sctx, R_028424_CB_FDCC_CONTROL, SI_TRACKED_CB_DCC_CONTROL,
S_028424_SAMPLE_MASK_TRACKER_DISABLE(oc_disable) |
S_028424_SAMPLE_MASK_TRACKER_WATERMARK(watermark));
S_028424_SAMPLE_MASK_TRACKER_WATERMARK(15));
} else {
radeon_opt_set_context_reg(
sctx, R_028424_CB_DCC_CONTROL, SI_TRACKED_CB_DCC_CONTROL,
S_028424_OVERWRITE_COMBINER_MRT_SHARING_DISABLE(sctx->gfx_level <= GFX9) |
S_028424_OVERWRITE_COMBINER_WATERMARK(watermark) |
S_028424_OVERWRITE_COMBINER_WATERMARK(sctx->gfx_level >= GFX10 ? 6 : 4) |
S_028424_OVERWRITE_COMBINER_DISABLE(oc_disable) |
S_028424_DISABLE_CONSTANT_ENCODE_REG(sctx->gfx_level < GFX11 &&
sctx->screen->info.has_dcc_constant_encode));
@ -3088,12 +3087,6 @@ static void si_set_framebuffer_state(struct pipe_context *ctx,
sctx->framebuffer.min_bytes_per_pixel = tex->surface.bpe;
}
/* For optimal DCC performance. */
if (sctx->gfx_level >= GFX10)
sctx->framebuffer.dcc_overwrite_combiner_watermark = 6;
else
sctx->framebuffer.dcc_overwrite_combiner_watermark = 4;
struct si_texture *zstex = NULL;
if (state->zsbuf) {