Cleanup data pointer calculations in assignMipData

This commit is contained in:
Ryan Huffman 2017-04-26 15:41:49 -07:00
parent 19d5414c30
commit f15a34e145

View file

@ -191,9 +191,9 @@ void KtxStorage::assignMipData(uint16 level, const storage::StoragePointer& stor
auto file = maybeOpenFile(); auto file = maybeOpenFile();
auto data = file->mutableData(); auto imageData = file->mutableData();
data += ktx::KTX_HEADER_SIZE + _ktxDescriptor->header.bytesOfKeyValueData + _ktxDescriptor->images[level]._imageOffset; imageData += ktx::KTX_HEADER_SIZE + _ktxDescriptor->header.bytesOfKeyValueData + _ktxDescriptor->images[level]._imageOffset;
data += ktx::IMAGE_SIZE_WIDTH; imageData += ktx::IMAGE_SIZE_WIDTH;
auto offset = _ktxDescriptor->getValueOffsetForKey(ktx::HIFI_MIN_POPULATED_MIP_KEY); auto offset = _ktxDescriptor->getValueOffsetForKey(ktx::HIFI_MIN_POPULATED_MIP_KEY);
{ {
@ -204,10 +204,11 @@ void KtxStorage::assignMipData(uint16 level, const storage::StoragePointer& stor
return; return;
} }
memcpy(data, storage->data(), _ktxDescriptor->images[level]._imageSize); memcpy(imageData, storage->data(), _ktxDescriptor->images[level]._imageSize);
_minMipLevelAvailable = level; _minMipLevelAvailable = level;
if (offset > 0) { if (offset > 0) {
memcpy(file->mutableData() + ktx::KTX_HEADER_SIZE + ktx::KV_SIZE_WIDTH + offset, (void*)&_minMipLevelAvailable, 1); auto minMipKeyData = file->mutableData() + ktx::KTX_HEADER_SIZE + ktx::KV_SIZE_WIDTH + offset;
memcpy(minMipKeyData, (void*)&_minMipLevelAvailable, 1);
} }
} }
} }