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:
parent
4da44e09cb
commit
bbb24d8c7e
5 changed files with 38 additions and 5 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue