radeonsi: Disable operations that do not work with DCC.
Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
parent
afa357c3b0
commit
bb77467df9
|
@ -1290,6 +1290,11 @@ void evergreen_do_fast_color_clear(struct r600_common_context *rctx,
|
|||
continue;
|
||||
}
|
||||
|
||||
/* CMASK clear does not work for DCC compressed textures */
|
||||
if (tex->surface.dcc_enabled) {
|
||||
continue;
|
||||
}
|
||||
|
||||
/* ensure CMASK is enabled */
|
||||
r600_texture_alloc_cmask_separate(rctx->screen, tex);
|
||||
if (tex->cmask.size == 0) {
|
||||
|
|
|
@ -242,7 +242,8 @@ void cik_sdma_copy(struct pipe_context *ctx,
|
|||
|
||||
if (src->format != dst->format ||
|
||||
rdst->surface.nsamples > 1 || rsrc->surface.nsamples > 1 ||
|
||||
(rdst->dirty_level_mask | rdst->stencil_dirty_level_mask) & (1 << dst_level)) {
|
||||
(rdst->dirty_level_mask | rdst->stencil_dirty_level_mask) & (1 << dst_level) ||
|
||||
rdst->surface.dcc_enabled || rsrc->surface.dcc_enabled) {
|
||||
goto fallback;
|
||||
}
|
||||
|
||||
|
|
|
@ -675,7 +675,8 @@ static bool do_hardware_msaa_resolve(struct pipe_context *ctx,
|
|||
info->src.box.depth == 1 &&
|
||||
dst->surface.level[info->dst.level].mode >= RADEON_SURF_MODE_1D &&
|
||||
!(dst->surface.flags & RADEON_SURF_SCANOUT) &&
|
||||
(!dst->cmask.size || !dst->dirty_level_mask) /* dst cannot be fast-cleared */) {
|
||||
(!dst->cmask.size || !dst->dirty_level_mask) && /* dst cannot be fast-cleared */
|
||||
!dst->surface.dcc_enabled) {
|
||||
si_blitter_begin(ctx, SI_COLOR_RESOLVE |
|
||||
(info->render_condition_enable ? 0 : SI_DISABLE_RENDER_COND));
|
||||
util_blitter_custom_resolve_color(sctx->blitter,
|
||||
|
|
|
@ -248,7 +248,8 @@ void si_dma_copy(struct pipe_context *ctx,
|
|||
if (src->format != dst->format || src_box->depth > 1 ||
|
||||
(rdst->dirty_level_mask | rdst->stencil_dirty_level_mask) & (1 << dst_level) ||
|
||||
rdst->cmask.size || rdst->fmask.size ||
|
||||
rsrc->cmask.size || rsrc->fmask.size) {
|
||||
rsrc->cmask.size || rsrc->fmask.size ||
|
||||
rdst->surface.dcc_enabled || rsrc->surface.dcc_enabled) {
|
||||
goto fallback;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue