Fix GetPrivatePATEntry Api
diff --git a/Source/GmmLib/CachePolicy/GmmGen10CachePolicy.cpp b/Source/GmmLib/CachePolicy/GmmGen10CachePolicy.cpp index e1011d0..bf78abd 100644 --- a/Source/GmmLib/CachePolicy/GmmGen10CachePolicy.cpp +++ b/Source/GmmLib/CachePolicy/GmmGen10CachePolicy.cpp
@@ -295,7 +295,7 @@ WantedTC = GMM_GFX_TC_ELLC_ONLY; // Note: this overrides the MOCS target cache selection. } - for(i = 1; i < GMM_NUM_PAT_ENTRIES; i++) + for(i = 1; i < NumPATRegisters; i++) { GMM_PRIVATE_PAT PAT1 = GetPrivatePATEntry(PATIdx); GMM_PRIVATE_PAT PAT2 = GetPrivatePATEntry(i); @@ -359,7 +359,7 @@ } // Set values for GmmGlobalInfo PrivatePATTable - for(i = 0; i < GMM_NUM_PAT_ENTRIES; i++) + for(i = 0; i < NumPATRegisters; i++) { GMM_PRIVATE_PAT PAT = {0};
diff --git a/Source/GmmLib/CachePolicy/GmmGen12CachePolicy.cpp b/Source/GmmLib/CachePolicy/GmmGen12CachePolicy.cpp index a967706..9669070 100644 --- a/Source/GmmLib/CachePolicy/GmmGen12CachePolicy.cpp +++ b/Source/GmmLib/CachePolicy/GmmGen12CachePolicy.cpp
@@ -424,7 +424,7 @@ WantedMemoryType = GMM_GFX_UC_WITH_FENCE; } - for(i = 1; i < GMM_NUM_PAT_ENTRIES; i++) + for(i = 1; i < NumPATRegisters; i++) { GMM_PRIVATE_PAT PAT1 = GetPrivatePATEntry(PATIdx); GMM_PRIVATE_PAT PAT2 = GetPrivatePATEntry(i); @@ -504,7 +504,7 @@ } // Set values for GmmGlobalInfo PrivatePATTable - for(i = 0; i < GMM_NUM_PAT_ENTRIES; i++) + for(i = 0; i < NumPATRegisters; i++) { GMM_PRIVATE_PAT PAT = {0};
diff --git a/Source/GmmLib/CachePolicy/GmmGen8CachePolicy.cpp b/Source/GmmLib/CachePolicy/GmmGen8CachePolicy.cpp index 4ac788e..e68eb8b 100644 --- a/Source/GmmLib/CachePolicy/GmmGen8CachePolicy.cpp +++ b/Source/GmmLib/CachePolicy/GmmGen8CachePolicy.cpp
@@ -159,7 +159,7 @@ } // Set values for GmmGlobalInfo PrivatePATTable - for(i = 0; i < GMM_NUM_PAT_ENTRIES; i++) + for(i = 0; i < NumPATRegisters; i++) { GMM_PRIVATE_PAT PAT = {0}; @@ -334,7 +334,7 @@ WantedTC = GMM_GFX_TC_ELLC_ONLY; // Note: this overrides the MOCS target cache selection. } - for(i = 1; i < GMM_NUM_PAT_ENTRIES; i++) + for(i = 1; i < NumPATRegisters; i++) { GMM_PRIVATE_PAT PAT1 = GetPrivatePATEntry(PATIdx); GMM_PRIVATE_PAT PAT2 = GetPrivatePATEntry(i); @@ -368,19 +368,14 @@ ///////////////////////////////////////////////////////////////////////////////////// bool GmmLib::GmmGen8CachePolicy::SetPrivatePATEntry(uint32_t PATIdx, GMM_PRIVATE_PAT Entry) { - if(PATIdx >= GMM_NUM_PAT_ENTRIES) + if(PATIdx >= NumPATRegisters) { GMM_ASSERTDPF(false, "CRITICAL ERROR: INVALID PAT IDX"); return false; } -#if(!defined(__GMM_KMD__)) - GMM_UNREFERENCED_PARAMETER(Entry); - GMM_ASSERTDPF(false, "Should only be called from KMD"); - return false; -#else + pGmmLibContext->GetPrivatePATTable()[PATIdx] = Entry; return true; -#endif } ///////////////////////////////////////////////////////////////////////////////////// @@ -394,17 +389,13 @@ { GMM_PRIVATE_PAT NullPAT = {0}; - if(PATIdx >= GMM_NUM_PAT_ENTRIES) + if(PATIdx >= NumPATRegisters) { GMM_ASSERTDPF(false, "CRITICAL ERROR: INVALID PAT IDX"); return NullPAT; } -#if(!defined(__GMM_KMD__)) - return NullPAT; -#else return pGmmLibContext->GetPrivatePATTable()[PATIdx]; -#endif } /////////////////////////////////////////////////////////////////////////////////////
diff --git a/Source/GmmLib/CachePolicy/GmmGen9CachePolicy.cpp b/Source/GmmLib/CachePolicy/GmmGen9CachePolicy.cpp index 9f76271..7ca11f3 100644 --- a/Source/GmmLib/CachePolicy/GmmGen9CachePolicy.cpp +++ b/Source/GmmLib/CachePolicy/GmmGen9CachePolicy.cpp
@@ -286,7 +286,7 @@ } // Set values for GmmGlobalInfo PrivatePATTable - for(i = 0; i < GMM_NUM_PAT_ENTRIES; i++) + for(i = 0; i < NumPATRegisters; i++) { GMM_PRIVATE_PAT PAT = {0};
diff --git a/Source/GmmLib/inc/External/Common/GmmInfo.h b/Source/GmmLib/inc/External/Common/GmmInfo.h index b3cf1f9..b2f893a 100644 --- a/Source/GmmLib/inc/External/Common/GmmInfo.h +++ b/Source/GmmLib/inc/External/Common/GmmInfo.h
@@ -105,13 +105,13 @@ #if(defined(__GMM_KMD__)) uint64_t IA32ePATTable; - GMM_PRIVATE_PAT PrivatePATTable[GMM_NUM_PAT_ENTRIES]; - int32_t PrivatePATTableMemoryType[GMM_NUM_GFX_PAT_TYPES]; + GMM_PRIVATE_PAT PrivatePATTable[GMM_NUM_PAT_ENTRIES]; + int32_t PrivatePATTableMemoryType[GMM_NUM_GFX_PAT_TYPES]; #endif // Padding Percentage limit on 64KB paged resource uint32_t AllowedPaddingFor64KbPagesPercentage; - uint64_t InternalGpuVaMax; + uint64_t InternalGpuVaMax; uint32_t AllowedPaddingFor64KBTileSurf; #ifdef GMM_LIB_DLL // Mutex Object used for synchronization of ProcessSingleton Context