diff --git a/Dalamud/Game/Internal/DXGI/SwapChainSigResolver.cs b/Dalamud/Game/Internal/DXGI/SwapChainSigResolver.cs index e44883612..ac1a419c2 100644 --- a/Dalamud/Game/Internal/DXGI/SwapChainSigResolver.cs +++ b/Dalamud/Game/Internal/DXGI/SwapChainSigResolver.cs @@ -9,6 +9,7 @@ namespace Dalamud.Game.Internal.DXGI /// /// The address resolver for native D3D11 methods to facilitate displaying the Dalamud UI. /// + [Obsolete("This has been deprecated in favor of the VTable resolver.")] public sealed class SwapChainSigResolver : BaseAddressResolver, ISwapChainAddressResolver { /// diff --git a/Dalamud/Interface/Internal/InterfaceManager.cs b/Dalamud/Interface/Internal/InterfaceManager.cs index fe0af1a9d..213055af3 100644 --- a/Dalamud/Interface/Internal/InterfaceManager.cs +++ b/Dalamud/Interface/Internal/InterfaceManager.cs @@ -48,7 +48,7 @@ namespace Dalamud.Interface.Internal private readonly Hook setCursorHook; private readonly ManualResetEvent fontBuildSignal; - private readonly ISwapChainAddressResolver address; + private readonly SwapChainVtableResolver address; private RawDX11Scene? scene; // can't access imgui IO before first present call @@ -66,27 +66,8 @@ namespace Dalamud.Interface.Internal this.fontBuildSignal = new ManualResetEvent(false); - try - { - var sigResolver = new SwapChainSigResolver(); - sigResolver.Setup(scanner); - - Log.Verbose("Found SwapChain via signatures."); - - this.address = sigResolver; - } - catch (KeyNotFoundException) - { - // The SigScanner method fails on wine/proton since DXGI is not a real DLL. We fall back to vtable to detect our Present function address. - Log.Debug("Could not get SwapChain address via sig method, falling back to vtable"); - - var vtableResolver = new SwapChainVtableResolver(); - vtableResolver.Setup(scanner); - - Log.Verbose("Found SwapChain via vtable."); - - this.address = vtableResolver; - } + this.address = new SwapChainVtableResolver(); + this.address.Setup(scanner); try {