This commit is contained in:
Anthony 2021-03-13 19:55:38 +13:00
parent 9c6e2656af
commit 4f91ca6838
1 changed files with 9 additions and 6 deletions

View File

@ -5973,6 +5973,15 @@ void CreateHostResource(xbox::X_D3DResource *pResource, DWORD D3DUsage, int iTex
DWORD dwCubeFaceOffset = 0;
DWORD dwCubeFaceSize = 0;
D3DCUBEMAP_FACES last_face = (bCubemap) ? D3DCUBEMAP_FACE_NEGATIVE_Z : D3DCUBEMAP_FACE_POSITIVE_X;
// Block size only applies to compressed DXT formats
// DXT1 block size is 8 bytes
// Other Xbox DXT formats are 16 bytes
DWORD blockSize = 0;
if (bCompressed) {
blockSize = X_Format == xbox::X_D3DFMT_DXT1 ? 8 : 16;
}
for (int face = D3DCUBEMAP_FACE_POSITIVE_X; face <= last_face; face++) {
// As we iterate through mipmap levels, we'll adjust the source resource offset
DWORD dwMipOffset = 0;
@ -5982,12 +5991,6 @@ void CreateHostResource(xbox::X_D3DResource *pResource, DWORD D3DUsage, int iTex
DWORD dwMipRowPitch = dwRowPitch;
DWORD dwSrcSlicePitch = dwMipRowPitch * pxMipHeight; // TODO
// Block size only applies to compressed DXT formats
// DXT1 block size is 8 bytes
// Other Xbox DXT formats are 16 bytes
DWORD blockSize = 0;
blockSize = X_Format == xbox::X_D3DFMT_DXT1 ? 8 : 16;
for (unsigned int mipmap_level = 0; mipmap_level < dwMipMapLevels; mipmap_level++) {
// Calculate size of this mipmap level