diff options
author | Jens Peters <jp7677@gmail.com> | 2022-06-25 21:03:32 +0300 |
---|---|---|
committer | Jens Peters <jp7677@gmail.com> | 2022-06-25 21:03:32 +0300 |
commit | d7f1d249da1ba32bc995e0c39b7f78ce6cacc508 (patch) | |
tree | 6143f60e9bb3cf1cf446be64ff619d05fc318450 | |
parent | 09a22d77c2003e26352109fcc4ac669e63ba6388 (diff) |
lfx: Introduce GetProcAddress template
-rw-r--r-- | src/d3d/lfx.cpp | 15 | ||||
-rw-r--r-- | src/d3d/lfx.h | 3 |
2 files changed, 12 insertions, 6 deletions
diff --git a/src/d3d/lfx.cpp b/src/d3d/lfx.cpp index 99abae2..e7da893 100644 --- a/src/d3d/lfx.cpp +++ b/src/d3d/lfx.cpp @@ -27,12 +27,10 @@ namespace dxvk { return; } - m_lfx_WaitAndBeginFrame = reinterpret_cast<PFN_lfx_WaitAndBeginFrame>(reinterpret_cast<void*>( - GetProcAddress(m_lfxModule, - !useFallbackEntrypoints ? "lfx_WaitAndBeginFrame" : "winelfx_WaitAndBeginFrame"))); - m_lfx_SetTargetFrameTime = reinterpret_cast<PFN_lfx_SetTargetFrameTime>(reinterpret_cast<void*>( - GetProcAddress(m_lfxModule, - !useFallbackEntrypoints ? "lfx_SetTargetFrameTime" : "winelfx_SetTargetFrameTime"))); + m_lfx_WaitAndBeginFrame = GetProcAddress<PFN_lfx_WaitAndBeginFrame>( + !useFallbackEntrypoints ? "lfx_WaitAndBeginFrame" : "winelfx_WaitAndBeginFrame"); + m_lfx_SetTargetFrameTime = GetProcAddress<PFN_lfx_SetTargetFrameTime>( + !useFallbackEntrypoints ? "lfx_SetTargetFrameTime" : "winelfx_SetTargetFrameTime"); } Lfx::~Lfx() { @@ -56,4 +54,9 @@ namespace dxvk { if (m_lfx_SetTargetFrameTime) m_lfx_SetTargetFrameTime(static_cast<__int64>(frame_time_ns)); } + + template <typename T> + T Lfx::GetProcAddress(const char* name) { + return reinterpret_cast<T>(reinterpret_cast<void*>(::GetProcAddress(m_lfxModule, name))); + } }
\ No newline at end of file diff --git a/src/d3d/lfx.h b/src/d3d/lfx.h index f0b1954..ae21d72 100644 --- a/src/d3d/lfx.h +++ b/src/d3d/lfx.h @@ -19,5 +19,8 @@ namespace dxvk { HMODULE m_lfxModule{}; PFN_lfx_WaitAndBeginFrame m_lfx_WaitAndBeginFrame{}; PFN_lfx_SetTargetFrameTime m_lfx_SetTargetFrameTime{}; + + template <typename T> + T GetProcAddress(const char* name); }; }
\ No newline at end of file |