|
|
|
@ -306,6 +306,53 @@ bool IsPixelFormatInteger(PixelFormat format) {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool IsPixelFormatSignedInteger(PixelFormat format) {
|
|
|
|
|
switch (format) {
|
|
|
|
|
case PixelFormat::A8B8G8R8_SINT:
|
|
|
|
|
case PixelFormat::R8_SINT:
|
|
|
|
|
case PixelFormat::R16G16B16A16_SINT:
|
|
|
|
|
case PixelFormat::R32G32B32A32_SINT:
|
|
|
|
|
case PixelFormat::R32G32_SINT:
|
|
|
|
|
case PixelFormat::R16_SINT:
|
|
|
|
|
case PixelFormat::R16G16_SINT:
|
|
|
|
|
case PixelFormat::R8G8_SINT:
|
|
|
|
|
case PixelFormat::R32_SINT:
|
|
|
|
|
return true;
|
|
|
|
|
default:
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
size_t PixelComponentSizeBitsInteger(PixelFormat format) {
|
|
|
|
|
switch (format) {
|
|
|
|
|
case PixelFormat::A8B8G8R8_SINT:
|
|
|
|
|
case PixelFormat::A8B8G8R8_UINT:
|
|
|
|
|
case PixelFormat::R8_SINT:
|
|
|
|
|
case PixelFormat::R8_UINT:
|
|
|
|
|
case PixelFormat::R8G8_SINT:
|
|
|
|
|
case PixelFormat::R8G8_UINT:
|
|
|
|
|
return 8;
|
|
|
|
|
case PixelFormat::A2B10G10R10_UINT:
|
|
|
|
|
return 10;
|
|
|
|
|
case PixelFormat::R16G16B16A16_SINT:
|
|
|
|
|
case PixelFormat::R16G16B16A16_UINT:
|
|
|
|
|
case PixelFormat::R16_UINT:
|
|
|
|
|
case PixelFormat::R16_SINT:
|
|
|
|
|
case PixelFormat::R16G16_UINT:
|
|
|
|
|
case PixelFormat::R16G16_SINT:
|
|
|
|
|
return 16;
|
|
|
|
|
case PixelFormat::R32G32B32A32_UINT:
|
|
|
|
|
case PixelFormat::R32G32B32A32_SINT:
|
|
|
|
|
case PixelFormat::R32G32_SINT:
|
|
|
|
|
case PixelFormat::R32G32_UINT:
|
|
|
|
|
case PixelFormat::R32_UINT:
|
|
|
|
|
case PixelFormat::R32_SINT:
|
|
|
|
|
return 32;
|
|
|
|
|
default:
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
std::pair<u32, u32> GetASTCBlockSize(PixelFormat format) {
|
|
|
|
|
return {DefaultBlockWidth(format), DefaultBlockHeight(format)};
|
|
|
|
|
}
|
|
|
|
|