diff options
author | riperiperi <rhy3756547@hotmail.com> | 2021-05-24 08:35:26 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-24 17:35:26 +1000 |
commit | 79092310fa5510f3b8e9f1e0183de6dea9dad98a (patch) | |
tree | 414ca385f3ad2446c8f09e489f46437779b5ad6d /Ryujinx.HLE/HOS/Kernel/Process/KProcessCapabilities.cs | |
parent | e9c15d32cbdd5d59373ede7d5dd15f4150ef3c4c (diff) |
Compare aligned size for largest mip level when considering sampler resize (#2306)
* 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.
Diffstat (limited to 'Ryujinx.HLE/HOS/Kernel/Process/KProcessCapabilities.cs')
0 files changed, 0 insertions, 0 deletions