fix: distinguish DDS formats by pixel bit depth (#1048)

Match bit depth as well as channel masks.
This commit is contained in:
mo authored and GitHub committed 2026-10-19 12:11:10 +02:00
1 parent 28b14ea0ee
commit 06a121f7cf
2 files changed
+36 -3

No files matched your search

+4 -3
View File
@@ -172,9 +172,10 @@ namespace
const auto* unsignedImageFormat = dynamic_cast<const ImageFormatUnsigned*>(imageFormat);
if (unsignedImageFormat->m_r_offset == rOffset && unsignedImageFormat->m_r_size == rSize && unsignedImageFormat->m_g_offset == gOffset
&& unsignedImageFormat->m_g_size == gSize && unsignedImageFormat->m_b_offset == bOffset && unsignedImageFormat->m_b_size == bSize
&& unsignedImageFormat->m_a_offset == aOffset && unsignedImageFormat->m_a_size == aSize)
if (unsignedImageFormat->m_bits_per_pixel == pf.dwRGBBitCount && unsignedImageFormat->m_r_offset == rOffset
&& unsignedImageFormat->m_r_size == rSize && unsignedImageFormat->m_g_offset == gOffset && unsignedImageFormat->m_g_size == gSize
&& unsignedImageFormat->m_b_offset == bOffset && unsignedImageFormat->m_b_size == bSize && unsignedImageFormat->m_a_offset == aOffset
&& unsignedImageFormat->m_a_size == aSize)
{
m_format = imageFormat;
return true;