Return TEX_ALPHA_MODE_OPAQUE metadata if the reader knows it returned opaque alpha (#150)

This commit is contained in:
Chuck Walbourn
2019-10-03 14:58:14 -07:00
committed by GitHub
parent aacd3919e8
commit 7bda0c3a57
4 changed files with 178 additions and 93 deletions

View File

@@ -427,9 +427,6 @@ namespace
if (metadata.format == DXGI_FORMAT_UNKNOWN)
return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED);
if (convFlags & CONV_FLAGS_PMALPHA)
metadata.miscFlags2 |= TEX_ALPHA_MODE_PREMULTIPLIED;
// Special flag for handling LUMINANCE legacy formats
if (flags & DDS_FLAGS_EXPAND_LUMINANCE)
{
@@ -515,6 +512,16 @@ namespace
}
}
// Implicit alpha mode
if (convFlags & CONV_FLAGS_NOALPHA)
{
metadata.SetAlphaMode(TEX_ALPHA_MODE_OPAQUE);
}
else if (convFlags & CONV_FLAGS_PMALPHA)
{
metadata.SetAlphaMode(TEX_ALPHA_MODE_PREMULTIPLIED);
}
return S_OK;
}
}