fixing dependency on TinyDDS_MipMapReduce(), which is internal to TinyDDS
diff --git a/encoder/basisu_gpu_texture.cpp b/encoder/basisu_gpu_texture.cpp index cb6a691..89bb2fe 100644 --- a/encoder/basisu_gpu_texture.cpp +++ b/encoder/basisu_gpu_texture.cpp
@@ -2057,6 +2057,19 @@ return true; } + + static uint32_t mipmap_reduce(uint32_t value, uint32_t level) + { + for (uint32_t i = 0; i < level; i++) + { + if (value <= 1u) + return 1; + + value = value >> 1u; + } + + return value; + } bool read_uncompressed_dds_file(const char* pFilename, basisu::vector<image> &ldr_mips, basisu::vector<imagef>& hdr_mips) { @@ -2159,8 +2172,8 @@ for (uint32_t level = 0; level < TinyDDS_NumberOfMipmaps(ctx); level++) { - const uint32_t level_width = TinyDDS_MipMapReduce(width, level); - const uint32_t level_height = TinyDDS_MipMapReduce(height, level); + const uint32_t level_width = mipmap_reduce(width, level); + const uint32_t level_height = mipmap_reduce(height, level); const uint32_t total_level_texels = level_width * level_height; const void* pImage = TinyDDS_ImageRawData(ctx, level);