Ensure texture ID is valid before getting texture descriptor (#3406)

This commit is contained in:
gdkchan
2022-06-23 21:41:57 -03:00
committed by GitHub
parent 8aff17a93c
commit e747f5cd83
4 changed files with 33 additions and 25 deletions

View File

@ -579,14 +579,16 @@ namespace Ryujinx.Graphics.Gpu.Shader
textureKey.StageIndex);
int packedId = TextureHandle.ReadPackedId(textureKey.Handle, cachedTextureBuffer, cachedSamplerBuffer);
int textureId = TextureHandle.UnpackTextureId(packedId);
ref readonly Image.TextureDescriptor descriptor = ref pool.GetDescriptorRef(textureId);
if (!MatchesTexture(kv.Value, descriptor))
if (pool.IsValidId(textureId))
{
return false;
ref readonly Image.TextureDescriptor descriptor = ref pool.GetDescriptorRef(textureId);
if (!MatchesTexture(kv.Value, descriptor))
{
return false;
}
}
}
}