forked from Mirror/Ryujinx
79092310fa
* Compare aligned size for largest mip level when considering sampler resize When selecting a texture that's a view for a sampler resize, we should take care that resizing it doesn't change the aligned size of any larger mip levels. This PR covers two cases: - When creating a view of the texture, we check that the aligned size of the view shifted up to level 0 still matches the aligned size of the container. If it does not, a copy dependency is created rather than resizing. - When searching for a texture for sampler, textures that do _not_ match our aligned size when both are shifted up by its base level are not considered an exact match, as resizing the found texture will cause the mip 0 aligned size to change. It will create a copy dependency view instead. Fixes graphical errors and crashes (on flush) in various Unity games that use render-to-texture. * Move shared code to its own method. |
||
---|---|---|
.. | ||
AutoDeleteCache.cs | ||
FormatInfo.cs | ||
FormatTable.cs | ||
ITextureDescriptor.cs | ||
Pool.cs | ||
ReductionFilter.cs | ||
Sampler.cs | ||
SamplerDescriptor.cs | ||
SamplerMinFilter.cs | ||
SamplerMipFilter.cs | ||
SamplerPool.cs | ||
Texture.cs | ||
TextureBindingInfo.cs | ||
TextureBindingsManager.cs | ||
TextureCompatibility.cs | ||
TextureComponent.cs | ||
TextureDependency.cs | ||
TextureDescriptor.cs | ||
TextureDescriptorType.cs | ||
TextureGroup.cs | ||
TextureGroupHandle.cs | ||
TextureInfo.cs | ||
TextureManager.cs | ||
TextureMatchQuality.cs | ||
TextureMsaaMode.cs | ||
TexturePool.cs | ||
TexturePoolCache.cs | ||
TextureScaleMode.cs | ||
TextureSearchFlags.cs | ||
TextureTarget.cs | ||
TextureViewCompatibility.cs |