aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs')
-rw-r--r--src/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs b/src/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs
index 1d22ab93..04949690 100644
--- a/src/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs
+++ b/src/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs
@@ -121,6 +121,15 @@ namespace Ryujinx.Graphics.Gpu.Shader
}
/// <inheritdoc/>
+ public int QuerySamplerArrayLengthFromPool()
+ {
+ int length = _state.SamplerPoolMaximumId + 1;
+ _state.SpecializationState?.RegisterTextureArrayLengthFromPool(isSampler: true, length);
+
+ return length;
+ }
+
+ /// <inheritdoc/>
public SamplerType QuerySamplerType(int handle, int cbufSlot)
{
_state.SpecializationState?.RecordTextureSamplerType(_stageIndex, handle, cbufSlot);
@@ -141,6 +150,15 @@ namespace Ryujinx.Graphics.Gpu.Shader
return arrayLength;
}
+ /// <inheritdoc/>
+ public int QueryTextureArrayLengthFromPool()
+ {
+ int length = _state.PoolState.TexturePoolMaximumId + 1;
+ _state.SpecializationState?.RegisterTextureArrayLengthFromPool(isSampler: false, length);
+
+ return length;
+ }
+
//// <inheritdoc/>
public TextureFormat QueryTextureFormat(int handle, int cbufSlot)
{