summaryrefslogtreecommitdiff
path: root/src/amd/addrlib/src/core/addrlib2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/amd/addrlib/src/core/addrlib2.cpp')
-rw-r--r--src/amd/addrlib/src/core/addrlib2.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/amd/addrlib/src/core/addrlib2.cpp b/src/amd/addrlib/src/core/addrlib2.cpp
index 0007e2b9fb4..f83e3a4ad26 100644
--- a/src/amd/addrlib/src/core/addrlib2.cpp
+++ b/src/amd/addrlib/src/core/addrlib2.cpp
@@ -142,10 +142,12 @@ Lib* Lib::GetLib(
return static_cast<Lib*>(hLib);
}
+
////////////////////////////////////////////////////////////////////////////////////////////////////
// Surface Methods
////////////////////////////////////////////////////////////////////////////////////////////////////
+
/**
************************************************************************************************************************
* Lib::ComputeSurfaceInfo
@@ -437,6 +439,7 @@ ADDR_E_RETURNCODE Lib::ComputeSurfaceCoordFromAddr(
return returnCode;
}
+
////////////////////////////////////////////////////////////////////////////////////////////////////
// CMASK/HTILE
////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -889,6 +892,15 @@ ADDR_E_RETURNCODE Lib::ComputeSlicePipeBankXor(
{
returnCode = ADDR_NOTSUPPORTED;
}
+ else if ((pIn->bpe != 0) &&
+ (pIn->bpe != 8) &&
+ (pIn->bpe != 16) &&
+ (pIn->bpe != 32) &&
+ (pIn->bpe != 64) &&
+ (pIn->bpe != 128))
+ {
+ returnCode = ADDR_INVALIDPARAMS;
+ }
else
{
returnCode = HwlComputeSlicePipeBankXor(pIn, pOut);
@@ -1540,11 +1552,11 @@ Dim3d Lib::GetMipTailDim(
{
ADDR_ASSERT(IsThin(resourceType, swizzleMode));
+#if DEBUG
// GFX9/GFX10 use different dimension shrinking logic for mipmap tail: say for 128KB block + 2BPE, the maximum
// dimension of mipmap tail level will be [256W * 128H] on GFX9 ASICs and [128W * 256H] on GFX10 ASICs. Since
// GFX10 is newer HWL so we make its implementation into base class, in order to save future change on new HWLs.
// And assert log2BlkSize will always be an even value on GFX9, so we never need the logic wrapped by DEBUG...
-#if DEBUG
if ((log2BlkSize & 1) && (m_chipFamily == ADDR_CHIP_FAMILY_AI))
{
// Should never go here...