diff --git a/Source/GmmLib/Resource/GmmResourceInfoCommonEx.cpp b/Source/GmmLib/Resource/GmmResourceInfoCommonEx.cpp
index 18da915..d980c68 100644
--- a/Source/GmmLib/Resource/GmmResourceInfoCommonEx.cpp
+++ b/Source/GmmLib/Resource/GmmResourceInfoCommonEx.cpp
@@ -235,13 +235,20 @@
     !(GetGmmLibContext()->GetSkuTable().FtrWddm2GpuMmu ||
       GetGmmLibContext()->GetSkuTable().FtrWddm2Svm);
 
-#if !__GMM_KMD__ && _WIN32
+#if !__GMM_KMD__ && LHDM
     if(GetGmmLibContext()->GetWaTable().WaLLCCachingUnsupported)
     {
         Surf.Flags.Info.GttMapType = (CreateParams.Flags.Info.Cacheable) ?
                                      GMM_GTT_CACHETYPE_VLV_SNOOPED :
                                      GMM_GTT_CACHETYPE_UNCACHED;
     }
+
+    if(GetGmmLibContext()->GetSkuTable().FtrCameraCaptureCaching == FALSE &&
+       CreateParams.Flags.Gpu.CameraCapture)
+    {
+        Surf.Flags.Info.Cacheable = 0;
+    }
+    Surf.Flags.Wa.ForceStdAllocAlign = 0;
 #endif
 
 #if(_DEBUG || _RELEASE_INTERNAL)
@@ -515,6 +522,14 @@
         GMM_ASSERTDPF(((Surf.Flags.Info.NonLocalOnly && Surf.Flags.Info.LocalOnly) == 0),
                       "Incorrect segment preference, cannot be both local and system memory.");
 
+	// Before overriding the flags predetermine if compression request is deniable or not.
+        if(!Surf.Flags.Info.LocalOnly &&
+           (!(Surf.Flags.Gpu.Overlay || Surf.Flags.Gpu.FlipChain)) &&
+           !(Surf.Flags.Info.HardwareProtected))
+        {
+            Surf.Flags.Wa.DeniableLocalOnlyForCompression = 1;
+        }
+
         if(Surf.Flags.Gpu.Overlay ||
            Surf.Flags.Gpu.FlipChain)
         {
@@ -561,10 +576,12 @@
             Surf.Flags.Info.NonLocalOnly = 1;
         }
 
-        if(!Surf.Flags.Info.NonLocalOnly &&
-           (!GetGmmLibContext()->GetSkuTable().FtrLocalMemoryAllows4KB))
+        if(GetGmmLibContext()->GetWaTable().Wa64kbMappingAt2mbGranularity &&
+           (!GetGmmLibContext()->GetSkuTable().FtrLocalMemoryAllows4KB) &&
+           !Surf.Flags.Info.NonLocalOnly)
         {
             Surf.Flags.Info.LocalOnly = true;
+
         }
     }
     else
diff --git a/Source/GmmLib/inc/External/Common/GmmResourceFlags.h b/Source/GmmLib/inc/External/Common/GmmResourceFlags.h
index 59ad6cf..d71863e 100644
--- a/Source/GmmLib/inc/External/Common/GmmResourceFlags.h
+++ b/Source/GmmLib/inc/External/Common/GmmResourceFlags.h
@@ -151,6 +151,9 @@
         uint32_t DisableDisplayCcsCompression      : 1; // Disables display decompression on the surface (it disables display awareness of both fast clear/render compression)
         uint32_t PreGen12FastClearOnly             : 1; // i.e. AUX_CCS_D (instead of AUX_CCS_E). Flag carried by GMM between UMDs to support shared resources.
 	uint32_t MediaPipeUsage                    : 1; // TileHeight Aligned ArrayQPitch on Tile4/TileY
+        uint32_t ForceStdAllocAlign                : 1; // Align standard allocation to 2MB, allowing 64K-PageTable. Set by KMD, not be used by UMDs
+        uint32_t DeniableLocalOnlyForCompression   : 1; // Align standard allocation to 2MB, allowing 64K-PageTable. Set by KMD, not be used by UMDs
+
     } Wa;
 
 } GMM_RESOURCE_FLAG;
diff --git a/Source/inc/common/sku_wa.h b/Source/inc/common/sku_wa.h
index 9d07589..0912415 100644
--- a/Source/inc/common/sku_wa.h
+++ b/Source/inc/common/sku_wa.h
@@ -497,6 +497,12 @@
         WA_BUG_TYPE_FUNCTIONAL,
         WA_BUG_PERF_IMPACT_UNKNOWN, WA_COMPONENT_GMM)
 
+	WA_DECLARE(
+        Wa64kbMappingAt2mbGranularity,
+        "WA to force 2MB alignment for 64KB-LMEM pages",
+        WA_BUG_TYPE_FUNCTIONAL,
+        WA_BUG_PERF_IMPACT_UNKNOWN, WA_COMPONENT_GMM)
+
         WA_DECLARE(
         WaDefaultTile4,
         "[XeHP] Keep Tile4 as default on XeHP till B stepping",
