From c80f400a2fb764386471600badb93a924542dd2b Mon Sep 17 00:00:00 2001 From: meli <57847713+ff-meli@users.noreply.github.com> Date: Thu, 9 Jan 2020 19:02:40 -0800 Subject: [PATCH] hooking ResizeBuffers() appears to be unnecessary, even though we maintain a view to the backbuffer. Leaving the signature (commented out) for now in case it does end up being something we have to handle --- Dalamud/Game/Internal/DXGI/SwapChainAddressResolver.cs | 3 +++ Dalamud/Interface/InterfaceManager.cs | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Dalamud/Game/Internal/DXGI/SwapChainAddressResolver.cs b/Dalamud/Game/Internal/DXGI/SwapChainAddressResolver.cs index 7ddb2ff37..7f54490e1 100644 --- a/Dalamud/Game/Internal/DXGI/SwapChainAddressResolver.cs +++ b/Dalamud/Game/Internal/DXGI/SwapChainAddressResolver.cs @@ -8,6 +8,7 @@ namespace Dalamud.Game.Internal.DXGI public sealed class SwapChainAddressResolver : BaseAddressResolver { public IntPtr Present { get; private set; } + //public IntPtr ResizeBuffers { get; private set; } protected override void Setup64Bit(SigScanner sig) { @@ -17,6 +18,8 @@ namespace Dalamud.Game.Internal.DXGI var scanner = new SigScanner(module); Present = scanner.ScanModule("48 89 5C 24 ?? 48 89 74 24 ?? 55 57 41 56 48 8D 6C 24 ??"); + // seems unnecessary for now, but we may need to handle it + //ResizeBuffers = scanner.ScanModule("48 8B C4 55 41 54 41 55 41 56 41 57 48 8D 68 ?? 48 81 EC C0 00 00 00"); } } } diff --git a/Dalamud/Interface/InterfaceManager.cs b/Dalamud/Interface/InterfaceManager.cs index ded4b03d7..d035c07cc 100644 --- a/Dalamud/Interface/InterfaceManager.cs +++ b/Dalamud/Interface/InterfaceManager.cs @@ -11,7 +11,7 @@ using Serilog; // general dev notes, here because it's easiest /* - * - We probably need to hook ResizeBuffers too at a minimum.. not releasing things may cause crashes. + * - Hooking ResizeBuffers seemed to be unnecessary, though I'm not sure why. Left out for now since it seems to work without it. * - It's probably virtually impossible to remove the present hook once we set it, which again may lead to crashes in various situations. * - We may want to build our ImGui command list in a thread to keep it divorced from present. We'd still have to block in present to * synchronize on the list and render it, but ideally the overall delay we add to present would then be shorter. This may cause minor