gl side mip sanity clamps

This commit is contained in:
AzaezelX 2025-08-06 12:57:59 -05:00
parent 12fdab166f
commit 8d38fa0bc4

View file

@ -116,10 +116,18 @@ void GFXGLTextureManager::innerCreateTexture( GFXGLTextureObject *retTex,
{
retTex->mMipLevels = numMipLevels > 1 ? numMipLevels : 0;
}
else if(profile->testFlag(GFXTextureProfile::NoMipmap) || profile->testFlag(GFXTextureProfile::RenderTarget) || numMipLevels == 1 || retTex->mIsNPoT2)
else if(profile->testFlag(GFXTextureProfile::NoMipmap) || numMipLevels == 1)
{
retTex->mMipLevels = 1;
}
else if (profile->testFlag(GFXTextureProfile::RenderTarget))
{
if (numMipLevels == 0) //auto
numMipLevels = mFloor(mLog2(mMax(width, height))) + 1;
else if (numMipLevels > 1) //capped
numMipLevels = mMin(numMipLevels, mFloor(mLog2(mMax(width, height))) + 1);
retTex->mMipLevels = mClampF(numMipLevels, 1, 13);
}
else
{
retTex->mMipLevels = numMipLevels;