mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-12 15:14:35 +00:00
don't let GFXD3D11TextureTarget::deactivate() try to generate mips if we haven't told that target to do so
This commit is contained in:
parent
7fcdd03b50
commit
3cdbd4e87e
3 changed files with 16 additions and 6 deletions
|
|
@ -276,11 +276,18 @@ void GFXD3D11TextureTarget::deactivate()
|
||||||
//re-gen mip maps
|
//re-gen mip maps
|
||||||
for (U32 i = 0; i < 6; i++)
|
for (U32 i = 0; i < 6; i++)
|
||||||
{
|
{
|
||||||
ID3D11ShaderResourceView* pSRView = mTargetSRViews[GFXTextureTarget::Color0 + i];
|
D3D11_TEXTURE2D_DESC desc;
|
||||||
if (pSRView)
|
if (mResolveTargets[GFXTextureTarget::Color0 + i])
|
||||||
D3D11DEVICECONTEXT->GenerateMips(pSRView);
|
{
|
||||||
}
|
mResolveTargets[GFXTextureTarget::Color0 + i]->get2DTex()->GetDesc(&desc);
|
||||||
|
if (desc.MiscFlags & D3D11_RESOURCE_MISC_GENERATE_MIPS)
|
||||||
|
{
|
||||||
|
ID3D11ShaderResourceView* pSRView = mTargetSRViews[GFXTextureTarget::Color0 + i];
|
||||||
|
if (pSRView)
|
||||||
|
D3D11DEVICECONTEXT->GenerateMips(pSRView);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GFXD3D11TextureTarget::resolve()
|
void GFXD3D11TextureTarget::resolve()
|
||||||
|
|
|
||||||
|
|
@ -108,6 +108,7 @@ void GFXD3D11TextureManager::_innerCreateTexture( GFXD3D11TextureObject *retTex,
|
||||||
(numMipLevels == 0 || numMipLevels > 1)&&
|
(numMipLevels == 0 || numMipLevels > 1)&&
|
||||||
!(depth > 0) )
|
!(depth > 0) )
|
||||||
{
|
{
|
||||||
|
if (numMipLevels == 5) Con::errorf("GFXD3D11TextureManager::_innerCreateTexture - numMipLevels == 5 found!");
|
||||||
miscFlags |= D3D11_RESOURCE_MISC_GENERATE_MIPS;
|
miscFlags |= D3D11_RESOURCE_MISC_GENERATE_MIPS;
|
||||||
bindFlags |= D3D11_BIND_RENDER_TARGET; // in order to automatically generate mips. Resource needs to be a rendertarget and shader resource
|
bindFlags |= D3D11_BIND_RENDER_TARGET; // in order to automatically generate mips. Resource needs to be a rendertarget and shader resource
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -849,7 +849,9 @@ void PostEffect::_setupConstants( const SceneRenderState *state )
|
||||||
|
|
||||||
if (mMipCountSC[i]->isValid())
|
if (mMipCountSC[i]->isValid())
|
||||||
{
|
{
|
||||||
mShaderConsts->set(mMipCountSC[i], (S32)mActiveTextures[i]->getMipLevels());
|
S32 mipLevels = (S32)mActiveTextures[i]->getMipLevels();
|
||||||
|
mShaderConsts->set(mMipCountSC[i], mipLevels);
|
||||||
|
if (mipLevels == 5) Con::errorf("PostEffect::_setupConstants - mipLevels == 5 found!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue