Skip to content

Commit

Permalink
Fix overflow when texture size is smaller than block size
Browse files Browse the repository at this point in the history
If the texture size is smaller than the block size, it can cause an overflow. For example, a texture size of 4x4 with a format of ASTC 6x6.
  • Loading branch information
eranzhao committed Dec 11, 2024
1 parent 8a39401 commit 643d5cf
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion renderdoc/driver/gl/wrappers/gl_texture_funcs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3813,7 +3813,7 @@ void WrappedOpenGL::StoreCompressedTexData(ResourceId texId, GLenum target, GLin
// GetCompressedByteSize() will factor in the 'partial' blocks at image edges when the
// image size is not an integer multiple of the block size, so we need to take into
// account that in the loop
size_t roundedUpHeight = AlignUp((uint32_t)height, blockSize[1]);
size_t roundedUpHeight = (uint32_t)height < blockSize[1] ? (uint32_t)height : AlignUp((uint32_t)height, blockSize[1]);
for(size_t y = 0; y < roundedUpHeight; y += blockSize[1])
{
memcpy(cdData.data() + dstOffset, srcPixels + srcOffset, srcRowSize);
Expand Down

0 comments on commit 643d5cf

Please sign in to comment.