Tiling format restriction addition for displayable surfaces (#54)
diff --git a/Source/GmmLib/Resource/GmmResourceInfoCommonEx.cpp b/Source/GmmLib/Resource/GmmResourceInfoCommonEx.cpp
index 7878bbd..8372484 100644
--- a/Source/GmmLib/Resource/GmmResourceInfoCommonEx.cpp
+++ b/Source/GmmLib/Resource/GmmResourceInfoCommonEx.cpp
@@ -478,7 +478,15 @@
GMM_ASSERTDPF(0, "Overlay and FlipChain flags set. S3D logic may fail.");
goto ERROR_CASE;
}
-
+
+ // Displayable surfaces must remain Tile4
+ if(((!pGmmGlobalContext->GetSkuTable().FtrDisplayDisabled) &&
+ (Surf.Flags.Gpu.Overlay || Surf.Flags.Gpu.FlipChain)) &&
+ (!(Surf.Flags.Info.Linear || Surf.Flags.Info.TiledX || GMM_IS_4KB_TILE(Surf.Flags))))
+ {
+ GMM_ASSERTDPF(0, "Unsupported tiling format for displayable resource.");
+ goto ERROR_CASE;
+ }
if(pGmmGlobalContext->GetSkuTable().FtrLocalMemory)
{