const VkImageAspectFlags aspectMask,
VkImage destImage)
{
- deUint32 textureSize = texSize.x() * texSize.y() * texSize.z() * texFormat.getPixelSize();
+ const deUint32 unalignedTextureSize = texSize.x() * texSize.y() * texSize.z() * texFormat.getPixelSize();
+ const deUint32 alignedTextureSize = deAlign32(unalignedTextureSize, 4u);
deUint32 bufferSize;
Move<VkBuffer> buffer;
de::MovePtr<Allocation> bufferAlloc;
std::vector<deUint32> levelDataSizes;
// Calculate buffer size
- bufferSize = arraySize * textureSize;
+ bufferSize = arraySize * alignedTextureSize;
// Create source buffer
{
};
copyRegions.push_back(layerRegion);
- layerDataOffset += textureSize;
+ layerDataOffset += alignedTextureSize;
}
}
tcu::PixelBufferAccess destAccess (texFormat, texSize, destPtr + levelOffset);
tcu::copy(destAccess, access);
- levelOffset += textureSize;
+ levelOffset += alignedTextureSize;
}
}