aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Gpu/Image/TextureManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Image/TextureManager.cs')
-rw-r--r--Ryujinx.Graphics.Gpu/Image/TextureManager.cs60
1 files changed, 8 insertions, 52 deletions
diff --git a/Ryujinx.Graphics.Gpu/Image/TextureManager.cs b/Ryujinx.Graphics.Gpu/Image/TextureManager.cs
index fe0175a6..083de64c 100644
--- a/Ryujinx.Graphics.Gpu/Image/TextureManager.cs
+++ b/Ryujinx.Graphics.Gpu/Image/TextureManager.cs
@@ -57,45 +57,21 @@ namespace Ryujinx.Graphics.Gpu.Image
}
/// <summary>
- /// Rents the texture bindings array of the compute pipeline.
+ /// Sets the texture and image bindings for the compute pipeline.
/// </summary>
- /// <param name="count">The number of bindings needed</param>
- /// <returns>The texture bindings array</returns>
- public TextureBindingInfo[] RentComputeTextureBindings(int count)
+ /// <param name="bindings">Bindings for the active shader</param>
+ public void SetComputeBindings(CachedShaderBindings bindings)
{
- return _cpBindingsManager.RentTextureBindings(0, count);
+ _cpBindingsManager.SetBindings(bindings);
}
/// <summary>
- /// Rents the texture bindings array for a given stage on the graphics pipeline.
+ /// Sets the texture and image bindings for the graphics pipeline.
/// </summary>
- /// <param name="stage">The index of the shader stage to bind the textures</param>
- /// <param name="count">The number of bindings needed</param>
- /// <returns>The texture bindings array</returns>
- public TextureBindingInfo[] RentGraphicsTextureBindings(int stage, int count)
+ /// <param name="bindings">Bindings for the active shader</param>
+ public void SetGraphicsBindings(CachedShaderBindings bindings)
{
- return _gpBindingsManager.RentTextureBindings(stage, count);
- }
-
- /// <summary>
- /// Rents the image bindings array of the compute pipeline.
- /// </summary>
- /// <param name="count">The number of bindings needed</param>
- /// <returns>The image bindings array</returns>
- public TextureBindingInfo[] RentComputeImageBindings(int count)
- {
- return _cpBindingsManager.RentImageBindings(0, count);
- }
-
- /// <summary>
- /// Rents the image bindings array for a given stage on the graphics pipeline.
- /// </summary>
- /// <param name="stage">The index of the shader stage to bind the images</param>
- /// <param name="count">The number of bindings needed</param>
- /// <returns>The image bindings array</returns>
- public TextureBindingInfo[] RentGraphicsImageBindings(int stage, int count)
- {
- return _gpBindingsManager.RentImageBindings(stage, count);
+ _gpBindingsManager.SetBindings(bindings);
}
/// <summary>
@@ -108,16 +84,6 @@ namespace Ryujinx.Graphics.Gpu.Image
}
/// <summary>
- /// Sets the max binding indexes on the compute pipeline.
- /// </summary>
- /// <param name="maxTextureBinding">The maximum texture binding</param>
- /// <param name="maxImageBinding">The maximum image binding</param>
- public void SetComputeMaxBindings(int maxTextureBinding, int maxImageBinding)
- {
- _cpBindingsManager.SetMaxBindings(maxTextureBinding, maxImageBinding);
- }
-
- /// <summary>
/// Sets the texture constant buffer index on the graphics pipeline.
/// </summary>
/// <param name="index">The texture constant buffer index</param>
@@ -127,16 +93,6 @@ namespace Ryujinx.Graphics.Gpu.Image
}
/// <summary>
- /// Sets the max binding indexes on the graphics pipeline.
- /// </summary>
- /// <param name="maxTextureBinding">The maximum texture binding</param>
- /// <param name="maxImageBinding">The maximum image binding</param>
- public void SetGraphicsMaxBindings(int maxTextureBinding, int maxImageBinding)
- {
- _gpBindingsManager.SetMaxBindings(maxTextureBinding, maxImageBinding);
- }
-
- /// <summary>
/// Sets the current sampler pool on the compute pipeline.
/// </summary>
/// <param name="gpuVa">The start GPU virtual address of the sampler pool</param>