Move ShaderInstance finalizer around so DummyShaderInstance isn't finalized.

Maybe help a bit with test GC performance.
This commit is contained in:
Pieter-Jan Briers
2022-12-10 12:35:05 +01:00
parent 55fd79eb36
commit f98d8707c9
2 changed files with 15 additions and 14 deletions

View File

@@ -393,7 +393,18 @@ namespace Robust.Client.Graphics.Clyde
return new ClydeShaderInstance(newHandle, Parent);
}
protected override void Dispose(bool disposing)
public override void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
~ClydeShaderInstance()
{
Dispose(false);
}
private void Dispose(bool disposing)
{
Parent._deadShaderInstances.Enqueue(Handle);
}

View File

@@ -222,20 +222,10 @@ namespace Robust.Client.Graphics
return DuplicateImpl();
}
~ShaderInstance()
#pragma warning disable CA1816
public virtual void Dispose()
#pragma warning restore CA1816
{
Dispose(false);
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
Disposed = true;
}
private void EnsureMutable()