Fix for Media corruption issue with the new interface (#15)
diff --git a/Source/GmmLib/Resource/GmmResourceInfoCommon.cpp b/Source/GmmLib/Resource/GmmResourceInfoCommon.cpp
index 4a08899..33d01c6 100644
--- a/Source/GmmLib/Resource/GmmResourceInfoCommon.cpp
+++ b/Source/GmmLib/Resource/GmmResourceInfoCommon.cpp
@@ -181,7 +181,12 @@
Surf.OffsetInfo.Plane.Y[i] = CreateParams.PlaneOffset.Y[i];
}
Surf.OffsetInfo.Plane.NoOfPlanes = CreateParams.NoOfPlanes;
- Surf.OffsetInfo.Plane.ArrayQPitch = Surf.Pitch * Surf.BaseHeight;
+
+ if (Surf.ArraySize > 1)
+ {
+ //Surf.OffsetInfo.Plane.ArrayQPitch = Surf.Size; //Not required as this new interface doesn't support arrayed surfaces.
+ }
+
UpdateUnAlignedParams();
}
@@ -202,8 +207,13 @@
case RESOURCE_WGBOX_ENCODE_REFERENCE:
#endif
{
- Surf.OffsetInfo.Texture2DOffsetInfo.ArrayQPitchRender =
- Surf.OffsetInfo.Texture2DOffsetInfo.ArrayQPitchLock = Surf.Pitch * Surf.BaseHeight;
+
+ if (Surf.ArraySize > 1)
+ {
+ // Surf.OffsetInfo.Texture2DOffsetInfo.ArrayQPitchRender =
+ // Surf.OffsetInfo.Texture2DOffsetInfo.ArrayQPitchLock = Surf.Pitch * Surf.BaseHeight; //Not required as this new interface doesn't support arrayed surfaces.
+ }
+
for(i = 0; i <= Surf.MaxLod; i++)
{
Surf.OffsetInfo.Texture2DOffsetInfo.Offset[i] = 0;