radeonsi: Add PIPE_CAP_HAS_CONST_BW support

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25464>
This commit is contained in:
Rob Clark 2023-10-03 14:33:32 -07:00 committed by Marge Bot
parent 01f0cce003
commit d97427f41c
2 changed files with 5 additions and 0 deletions

View file

@ -161,6 +161,7 @@ static int si_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
case PIPE_CAP_TEXTURE_MULTISAMPLE:
case PIPE_CAP_ALLOW_GLTHREAD_BUFFER_SUBDATA_OPT: /* TODO: remove if it's slow */
case PIPE_CAP_NULL_TEXTURES:
case PIPE_CAP_HAS_CONST_BW:
return 1;
case PIPE_CAP_TEXTURE_TRANSFER_MODES:

View file

@ -261,6 +261,10 @@ static int si_init_surface(struct si_screen *sscreen, struct radeon_surf *surfac
ptex->format == PIPE_FORMAT_R9G9B9E5_FLOAT)
flags |= RADEON_SURF_DISABLE_DCC;
/* If constant (non-data-dependent) format is requested, disable DCC: */
if (ptex->bind & PIPE_BIND_CONST_BW)
flags |= RADEON_SURF_DISABLE_DCC;
switch (sscreen->info.gfx_level) {
case GFX8:
/* Stoney: 128bpp MSAA textures randomly fail piglit tests with DCC. */