|
|
@@ -38,15 +38,15 @@ namespace bimg
|
|
|
{ 4, 4, 4, 8, 2, 2, 0, 0, 0, 0, 0, 0, uint8_t(bx::EncodingType::Unorm) }, // PTC14A
|
|
|
{ 2, 8, 4, 8, 2, 2, 0, 0, 0, 0, 0, 0, uint8_t(bx::EncodingType::Unorm) }, // PTC22
|
|
|
{ 4, 4, 4, 8, 2, 2, 0, 0, 0, 0, 0, 0, uint8_t(bx::EncodingType::Unorm) }, // PTC24
|
|
|
- { 4, 4, 4, 8, 1, 1, 0, 0, 0, 0, 0, 0, uint8_t(bx::EncodingType::Unorm) }, // ATC
|
|
|
- { 8, 4, 4, 16, 1, 1, 0, 0, 0, 0, 0, 0, uint8_t(bx::EncodingType::Unorm) }, // ATCE
|
|
|
- { 8, 4, 4, 16, 1, 1, 0, 0, 0, 0, 0, 0, uint8_t(bx::EncodingType::Unorm) }, // ATCI
|
|
|
- { 8, 4, 4, 16, 1, 1, 0, 0, 0, 0, 0, 0, uint8_t(bx::EncodingType::Unorm) }, // ASTC4x4
|
|
|
- { 6, 5, 5, 16, 1, 1, 0, 0, 0, 0, 0, 0, uint8_t(bx::EncodingType::Unorm) }, // ASTC5x5
|
|
|
- { 4, 6, 6, 16, 1, 1, 0, 0, 0, 0, 0, 0, uint8_t(bx::EncodingType::Unorm) }, // ASTC6x6
|
|
|
- { 4, 8, 5, 16, 1, 1, 0, 0, 0, 0, 0, 0, uint8_t(bx::EncodingType::Unorm) }, // ASTC8x5
|
|
|
- { 3, 8, 6, 16, 1, 1, 0, 0, 0, 0, 0, 0, uint8_t(bx::EncodingType::Unorm) }, // ASTC8x6
|
|
|
- { 3, 10, 5, 16, 1, 1, 0, 0, 0, 0, 0, 0, uint8_t(bx::EncodingType::Unorm) }, // ASTC10x5
|
|
|
+ { 4, 4, 4, 8, 1, 1, 0, 0, 0, 0, 0, 0, uint8_t(bx::EncodingType::Unorm) }, // ATC
|
|
|
+ { 8, 4, 4, 16, 1, 1, 0, 0, 0, 0, 0, 0, uint8_t(bx::EncodingType::Unorm) }, // ATCE
|
|
|
+ { 8, 4, 4, 16, 1, 1, 0, 0, 0, 0, 0, 0, uint8_t(bx::EncodingType::Unorm) }, // ATCI
|
|
|
+ { 8, 4, 4, 16, 1, 1, 0, 0, 0, 0, 0, 0, uint8_t(bx::EncodingType::Unorm) }, // ASTC4x4
|
|
|
+ { 6, 5, 5, 16, 1, 1, 0, 0, 0, 0, 0, 0, uint8_t(bx::EncodingType::Unorm) }, // ASTC5x5
|
|
|
+ { 4, 6, 6, 16, 1, 1, 0, 0, 0, 0, 0, 0, uint8_t(bx::EncodingType::Unorm) }, // ASTC6x6
|
|
|
+ { 4, 8, 5, 16, 1, 1, 0, 0, 0, 0, 0, 0, uint8_t(bx::EncodingType::Unorm) }, // ASTC8x5
|
|
|
+ { 3, 8, 6, 16, 1, 1, 0, 0, 0, 0, 0, 0, uint8_t(bx::EncodingType::Unorm) }, // ASTC8x6
|
|
|
+ { 3, 10, 5, 16, 1, 1, 0, 0, 0, 0, 0, 0, uint8_t(bx::EncodingType::Unorm) }, // ASTC10x5
|
|
|
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, uint8_t(bx::EncodingType::Count) }, // Unknown
|
|
|
{ 1, 8, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, uint8_t(bx::EncodingType::Unorm) }, // R1
|
|
|
{ 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 8, uint8_t(bx::EncodingType::Unorm) }, // A8
|
|
|
@@ -128,15 +128,15 @@ namespace bimg
|
|
|
"PTC14A", // PTC14A
|
|
|
"PTC22", // PTC22
|
|
|
"PTC24", // PTC24
|
|
|
- "ATC", // ATC
|
|
|
- "ATCE", // ATCE
|
|
|
- "ATCI", // ATCI
|
|
|
- "ASTC4x4", // ASTC4x4
|
|
|
- "ASTC5x5", // ASTC5x5
|
|
|
- "ASTC6x6", // ASTC6x6
|
|
|
- "ASTC8x5", // ASTC8x5
|
|
|
- "ASTC8x6", // ASTC8x6
|
|
|
- "ASTC10x5", // ASTC10x5
|
|
|
+ "ATC", // ATC
|
|
|
+ "ATCE", // ATCE
|
|
|
+ "ATCI", // ATCI
|
|
|
+ "ASTC4x4", // ASTC4x4
|
|
|
+ "ASTC5x5", // ASTC5x5
|
|
|
+ "ASTC6x6", // ASTC6x6
|
|
|
+ "ASTC8x5", // ASTC8x5
|
|
|
+ "ASTC8x6", // ASTC8x6
|
|
|
+ "ASTC10x5", // ASTC10x5
|
|
|
"<unknown>", // Unknown
|
|
|
"R1", // R1
|
|
|
"A8", // A8
|
|
|
@@ -289,7 +289,7 @@ namespace bimg
|
|
|
{
|
|
|
const ImageBlockInfo& blockInfo = getBlockInfo(_format);
|
|
|
const uint8_t bpp = blockInfo.bitsPerPixel;
|
|
|
- const uint16_t blockSize = blockInfo.blockSize;
|
|
|
+ const uint16_t blockSize = blockInfo.blockSize;
|
|
|
const uint16_t blockWidth = blockInfo.blockWidth;
|
|
|
const uint16_t blockHeight = blockInfo.blockHeight;
|
|
|
const uint16_t minBlockX = blockInfo.minBlockX;
|
|
|
@@ -303,22 +303,22 @@ namespace bimg
|
|
|
uint32_t depth = _depth;
|
|
|
uint32_t size = 0;
|
|
|
|
|
|
- if (_format != TextureFormat::Unknown)
|
|
|
- {
|
|
|
- for (uint32_t lod = 0; lod < numMips; ++lod)
|
|
|
- {
|
|
|
- depth = bx::max<uint32_t>(1, depth);
|
|
|
+ if (_format != TextureFormat::Unknown)
|
|
|
+ {
|
|
|
+ for (uint32_t lod = 0; lod < numMips; ++lod)
|
|
|
+ {
|
|
|
+ depth = bx::max<uint32_t>(1, depth);
|
|
|
|
|
|
- const uint32_t blocksX = bx::max<uint32_t>(minBlockX, ( (width + blockWidth - 1) / blockWidth ) );
|
|
|
- const uint32_t blocksY = bx::max<uint32_t>(minBlockY, ( (height + blockHeight - 1) / blockHeight) );
|
|
|
+ const uint32_t blocksX = bx::max<uint32_t>(minBlockX, ( (width + blockWidth - 1) / blockWidth ) );
|
|
|
+ const uint32_t blocksY = bx::max<uint32_t>(minBlockY, ( (height + blockHeight - 1) / blockHeight) );
|
|
|
|
|
|
- size += blocksX * blocksY * blockSize * depth * sides;
|
|
|
+ size += blocksX * blocksY * blockSize * depth * sides;
|
|
|
|
|
|
- width >>= 1;
|
|
|
- height >>= 1;
|
|
|
- depth >>= 1;
|
|
|
- }
|
|
|
- }
|
|
|
+ width >>= 1;
|
|
|
+ height >>= 1;
|
|
|
+ depth >>= 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
size *= _numLayers;
|
|
|
|
|
|
@@ -338,7 +338,7 @@ namespace bimg
|
|
|
return size;
|
|
|
}
|
|
|
|
|
|
- void imageSolid(void* _dst, uint32_t _width, uint32_t _height, uint32_t _solid)
|
|
|
+ void imageSolid(void* _dst, uint32_t _width, uint32_t _height, uint32_t _solid)
|
|
|
{
|
|
|
uint32_t* dst = (uint32_t*)_dst;
|
|
|
for (uint32_t ii = 0, num = _width*_height; ii < num; ++ii)
|
|
|
@@ -872,15 +872,15 @@ namespace bimg
|
|
|
{ NULL, NULL }, // PTC14A
|
|
|
{ NULL, NULL }, // PTC22
|
|
|
{ NULL, NULL }, // PTC24
|
|
|
- { NULL, NULL }, // ATC
|
|
|
- { NULL, NULL }, // ATCE
|
|
|
- { NULL, NULL }, // ATCI
|
|
|
- { NULL, NULL }, // ASTC4x4
|
|
|
- { NULL, NULL }, // ASTC5x5
|
|
|
- { NULL, NULL }, // ASTC6x6
|
|
|
- { NULL, NULL }, // ASTC8x5
|
|
|
- { NULL, NULL }, // ASTC8x6
|
|
|
- { NULL, NULL }, // ASTC10x5
|
|
|
+ { NULL, NULL }, // ATC
|
|
|
+ { NULL, NULL }, // ATCE
|
|
|
+ { NULL, NULL }, // ATCI
|
|
|
+ { NULL, NULL }, // ASTC4x4
|
|
|
+ { NULL, NULL }, // ASTC5x5
|
|
|
+ { NULL, NULL }, // ASTC6x6
|
|
|
+ { NULL, NULL }, // ASTC8x5
|
|
|
+ { NULL, NULL }, // ASTC8x6
|
|
|
+ { NULL, NULL }, // ASTC10x5
|
|
|
{ NULL, NULL }, // Unknown
|
|
|
{ NULL, NULL }, // R1
|
|
|
{ bx::packR8, bx::unpackR8 }, // A8
|
|
|
@@ -3617,15 +3617,15 @@ namespace bimg
|
|
|
{ KTX_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG, KTX_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT, KTX_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG, KTX_ZERO, }, // PTC14A
|
|
|
{ KTX_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG, KTX_ZERO, KTX_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG, KTX_ZERO, }, // PTC22
|
|
|
{ KTX_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG, KTX_ZERO, KTX_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG, KTX_ZERO, }, // PTC24
|
|
|
- { KTX_ATC_RGB_AMD, KTX_ZERO, KTX_ATC_RGB_AMD, KTX_ZERO, }, // ATC
|
|
|
- { KTX_ATC_RGBA_EXPLICIT_ALPHA_AMD, KTX_ZERO, KTX_ATC_RGBA_EXPLICIT_ALPHA_AMD, KTX_ZERO, }, // ATCE
|
|
|
- { KTX_ATC_RGBA_INTERPOLATED_ALPHA_AMD, KTX_ZERO, KTX_ATC_RGBA_INTERPOLATED_ALPHA_AMD, KTX_ZERO, }, // ATCI
|
|
|
- { KTX_COMPRESSED_RGBA_ASTC_4x4_KHR, KTX_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR, KTX_COMPRESSED_RGBA_ASTC_4x4_KHR, KTX_ZERO, }, // ASTC4x4
|
|
|
- { KTX_COMPRESSED_RGBA_ASTC_5x5_KHR, KTX_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR, KTX_COMPRESSED_RGBA_ASTC_5x5_KHR, KTX_ZERO, }, // ASTC5x5
|
|
|
- { KTX_COMPRESSED_RGBA_ASTC_6x6_KHR, KTX_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR, KTX_COMPRESSED_RGBA_ASTC_6x6_KHR, KTX_ZERO, }, // ASTC6x6
|
|
|
- { KTX_COMPRESSED_RGBA_ASTC_8x5_KHR, KTX_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR, KTX_COMPRESSED_RGBA_ASTC_8x5_KHR, KTX_ZERO, }, // ASTC8x5
|
|
|
- { KTX_COMPRESSED_RGBA_ASTC_8x6_KHR, KTX_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR, KTX_COMPRESSED_RGBA_ASTC_8x6_KHR, KTX_ZERO, }, // ASTC8x6
|
|
|
- { KTX_COMPRESSED_RGBA_ASTC_10x5_KHR, KTX_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR, KTX_COMPRESSED_RGBA_ASTC_10x5_KHR, KTX_ZERO, }, // ASTC10x5
|
|
|
+ { KTX_ATC_RGB_AMD, KTX_ZERO, KTX_ATC_RGB_AMD, KTX_ZERO, }, // ATC
|
|
|
+ { KTX_ATC_RGBA_EXPLICIT_ALPHA_AMD, KTX_ZERO, KTX_ATC_RGBA_EXPLICIT_ALPHA_AMD, KTX_ZERO, }, // ATCE
|
|
|
+ { KTX_ATC_RGBA_INTERPOLATED_ALPHA_AMD, KTX_ZERO, KTX_ATC_RGBA_INTERPOLATED_ALPHA_AMD, KTX_ZERO, }, // ATCI
|
|
|
+ { KTX_COMPRESSED_RGBA_ASTC_4x4_KHR, KTX_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR, KTX_COMPRESSED_RGBA_ASTC_4x4_KHR, KTX_ZERO, }, // ASTC4x4
|
|
|
+ { KTX_COMPRESSED_RGBA_ASTC_5x5_KHR, KTX_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR, KTX_COMPRESSED_RGBA_ASTC_5x5_KHR, KTX_ZERO, }, // ASTC5x5
|
|
|
+ { KTX_COMPRESSED_RGBA_ASTC_6x6_KHR, KTX_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR, KTX_COMPRESSED_RGBA_ASTC_6x6_KHR, KTX_ZERO, }, // ASTC6x6
|
|
|
+ { KTX_COMPRESSED_RGBA_ASTC_8x5_KHR, KTX_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR, KTX_COMPRESSED_RGBA_ASTC_8x5_KHR, KTX_ZERO, }, // ASTC8x5
|
|
|
+ { KTX_COMPRESSED_RGBA_ASTC_8x6_KHR, KTX_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR, KTX_COMPRESSED_RGBA_ASTC_8x6_KHR, KTX_ZERO, }, // ASTC8x6
|
|
|
+ { KTX_COMPRESSED_RGBA_ASTC_10x5_KHR, KTX_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR, KTX_COMPRESSED_RGBA_ASTC_10x5_KHR, KTX_ZERO, }, // ASTC10x5
|
|
|
{ KTX_ZERO, KTX_ZERO, KTX_ZERO, KTX_ZERO, }, // Unknown
|
|
|
{ KTX_ZERO, KTX_ZERO, KTX_ZERO, KTX_ZERO, }, // R1
|
|
|
{ KTX_ALPHA, KTX_ZERO, KTX_ALPHA, KTX_UNSIGNED_BYTE, }, // A8
|