Search Issue Tracker
Temporary textures do not respect QualitySettings.textureQuality
The RenderTexture.GetTemporary() API creates a render texture that does not get mipped down at the API level (at least for DX11).
You can see this issue in the repro project attached to this bug: https://fogbugz.unity3d.com/f/cases/edit/1148582/
Graphics test 434 might be hitting this issue too: https://fogbugz.unity3d.com/f/cases/1144430/
Maybe this bug can be resolved with the answer "temporary textures shouldn't be mipped down!" in which case we'd just need to update documentation for QualitySettings.masterTextureLimit. But then temporary textures will always have scaling problems with textures that *are* managed behind the scenes according to masterTextureLimit. In 1148582 it was also discovered that it's possible to cause a crash by copying from a location in a texture that's legal at the C++ level (which sees a texture as full resolution, even if it's been downmipped at the API level) but illegal for the actual texture resource at the API level, which causes GfxDevice removal. So we'd probably need additional assertion checks that account for QualitySettings.masterTextureLimit when checking texture operation dimensions. It might also be advisable to add an API argument on texture allocation to specify whether the resolution should be affected by QualitySettings?
If it turns out temporary textures SHOULD be mipped down at the API level, the bugfix for 1148582 would be broken (since it relies on temporary textures being created at full resolution).
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- OnTriggerExit2D when disabling a GameObject
- [DirectX12] FrameTimingManager does not return useful data
- [GPU PLM] High resolution lightmap bake keeps on restarting when Progressive Updates flag is enabled
- Use legacy light probe sample counts is enabled for newly created projects
- Prefab is marked as unsaved if LayoutGroup components are attached to it when saving the Prefab manually