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