Restrict shader storage buffer search when match fails (#4011)

* Restrict storage buffer search when match fails

* Shader cache version bump
This commit is contained in:
gdkchan 2022-12-05 16:11:32 -03:00 committed by GitHub
parent 4da44e09cb
commit bbb24d8c7e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 38 additions and 5 deletions

View file

@ -65,6 +65,8 @@ namespace Ryujinx.Graphics.Shader.Translation
public UInt128 NextInputAttributesComponents { get; private set; }
public UInt128 ThisInputAttributesComponents { get; private set; }
public int AccessibleStorageBuffersMask { get; private set; }
private int _usedConstantBuffers;
private int _usedStorageBuffers;
private int _usedStorageBuffersWrite;
@ -98,6 +100,8 @@ namespace Ryujinx.Graphics.Shader.Translation
GpuAccessor = gpuAccessor;
Options = options;
AccessibleStorageBuffersMask = (1 << GlobalMemory.StorageMaxCount) - 1;
UsedInputAttributesPerPatch = new HashSet<int>();
UsedOutputAttributesPerPatch = new HashSet<int>();
@ -400,6 +404,11 @@ namespace Ryujinx.Graphics.Shader.Translation
UsedFeatures |= flags;
}
public void SetAccessibleStorageBuffersMask(int mask)
{
AccessibleStorageBuffersMask = mask;
}
public void SetUsedConstantBuffer(int slot)
{
_usedConstantBuffers |= 1 << slot;