aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Gpu/Engine
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Engine')
-rw-r--r--Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClass.cs20
-rw-r--r--Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClassState.cs5
2 files changed, 24 insertions, 1 deletions
diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClass.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClass.cs
index f3061c73..dc458026 100644
--- a/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClass.cs
+++ b/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClass.cs
@@ -34,6 +34,8 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed
{ nameof(ThreedClassState.LaunchDma), new RwCallback(LaunchDma, null) },
{ nameof(ThreedClassState.LoadInlineData), new RwCallback(LoadInlineData, null) },
{ nameof(ThreedClassState.SyncpointAction), new RwCallback(IncrementSyncpoint, null) },
+ { nameof(ThreedClassState.InvalidateSamplerCacheNoWfi), new RwCallback(InvalidateSamplerCacheNoWfi, null) },
+ { nameof(ThreedClassState.InvalidateTextureHeaderCacheNoWfi), new RwCallback(InvalidateTextureHeaderCacheNoWfi, null) },
{ nameof(ThreedClassState.TextureBarrier), new RwCallback(TextureBarrier, null) },
{ nameof(ThreedClassState.TextureBarrierTiled), new RwCallback(TextureBarrierTiled, null) },
{ nameof(ThreedClassState.DrawTextureSrcY), new RwCallback(DrawTexture, null) },
@@ -228,6 +230,24 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed
}
/// <summary>
+ /// Invalidates the cache with the sampler descriptors from the sampler pool.
+ /// </summary>
+ /// <param name="argument">Method call argument (unused)</param>
+ private void InvalidateSamplerCacheNoWfi(int argument)
+ {
+ _context.AdvanceSequence();
+ }
+
+ /// <summary>
+ /// Invalidates the cache with the texture descriptors from the texture pool.
+ /// </summary>
+ /// <param name="argument">Method call argument (unused)</param>
+ private void InvalidateTextureHeaderCacheNoWfi(int argument)
+ {
+ _context.AdvanceSequence();
+ }
+
+ /// <summary>
/// Issues a texture barrier.
/// This waits until previous texture writes from the GPU to finish, before
/// performing new operations with said textures.
diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClassState.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClassState.cs
index 165f5072..9d8ad765 100644
--- a/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClassState.cs
+++ b/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClassState.cs
@@ -784,7 +784,10 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed
public YControl YControl;
public float LineWidthSmooth;
public float LineWidthAliased;
- public fixed uint Reserved13B8[31];
+ public fixed uint Reserved13B8[27];
+ public uint InvalidateSamplerCacheNoWfi;
+ public uint InvalidateTextureHeaderCacheNoWfi;
+ public fixed uint Reserved142C[2];
public uint FirstVertex;
public uint FirstInstance;
public fixed uint Reserved143C[53];