amd/addrlib: add back the incorrect original DCC checking

This reduces Mesa-specific changes.

is_dcc_supported_by_CB() should protect against getting there.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9668>
This commit is contained in:
Marek Olšák 2021-03-17 17:03:07 -04:00
parent 042d24971e
commit 59912cd4cf
1 changed files with 3 additions and 2 deletions

View File

@ -384,9 +384,10 @@ ADDR_E_RETURNCODE Gfx10Lib::HwlComputeDccInfo(
{
ADDR_E_RETURNCODE ret = ADDR_OK;
if (pIn->swizzleMode != ADDR_SW_64KB_Z_X && pIn->swizzleMode != ADDR_SW_64KB_R_X)
if (IsLinear(pIn->swizzleMode) || IsBlock256b(pIn->swizzleMode))
{
// Hardware does not support DCC for this swizzle mode.
// Hardware support dcc for 256 swizzle mode, but address lib will not support it because we only
// select 256 swizzle mode for small surface, and it's not helpful to enable dcc for small surface.
ret = ADDR_INVALIDPARAMS;
}
else if (m_settings.dccUnsup3DSwDis && IsTex3d(pIn->resourceType) && IsDisplaySwizzle(pIn->swizzleMode))